什么是为了加速对特定表数据的访问而创建的数据段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是为了加速对特定表数据的访问而创建的数据段相关的知识,希望对你有一定的参考价值。

参考技术A 存储过程是为了加速对特定表数据的访问而创建的数据段 参考技术B 配置了collectd和influxdb在一台CentOS7服务器上。两个服务启动都没有问题。
配置文件:
collectd:
<Plugin network>
server "127.0.0.1" "25826"
</Plugin>
influxdb
[collectd]

sql的优化-索引

什么是索引?索引的定义是如何,在你的项目中用来了索引吗?

索引是为了加速对表中数据行的检索而创建的一种分散的存储结构。索引是针对表而建立的,它是由数据页面以外的索引页面组成的,每个索引页面中的行都会含有逻辑指针,以便加速检索物理数据。

索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。

定义:

分为普通索引, 唯一索引, 主键索引

普通索引

创建索引,例如CREATE INDEX <索引的名字> ON tablename (列的列表);

修改表,例如ALTER TABLE tablename ADD INDEX [索引的名字] (列的列表);

创建表的时候指定索引,例如CREATE TABLE tablename ( [...], INDEX [索引的名字] (列的列表) );
 drop  index <索引名>
 

唯一索引是不允许其中任何两行具有相同索引值的索引。

创建唯一索引的几种方式:
创建索引,例如CREATE UNIQUE INDEX <索引的名字> ON tablename (列的列表);
修改表,例如ALTER TABLE tablename ADD UNIQUE [索引的名字] (列的列表);
创建表的时候指定索引,例如CREATE TABLE tablename ( [...], UNIQUE [索引的名字] (列的列表) );
 
主索引,数据库表中一列或列组合(字段)的值唯一标识表中的每一行。该列称为表的主键
 
项目中是否用到索引?
conut(*),该查询语句在表中有索引的情况下,会用到索引。SQL优化器在底层会查找索引或者主键count(pk_name),
所以在数据库中count(*)在有主键的情况下,速度会比没有主键的情况下快。
 
count(1)和count(*)的区别, 
在没有索引或者主键的情况下, count(1)比count(*)要快, 应为count(*),此时会查找所有的列。
在有索引或者主键的情况下,count(1)和count(*)都一样快,都会查找索引。
 
在生产项目与门户项目集成时,用到了唯一性索引,unique index, 在集团编码列上用唯一性索引,此时主要提高查询速度。
 

 

以上是关于什么是为了加速对特定表数据的访问而创建的数据段的主要内容,如果未能解决你的问题,请参考以下文章

对于关系型数据库而言,索引是相当重要的概念?

从 ms 访问中获取表数

MySQL索引介绍

Mysql索引灵魂拷问

MySQL视图

快速回顾MySQL:汇总和分组