您的位置:首页 > 文旅 > 美景 > 制作网页时一般不选用的图像文件格式是_北京互联网金融公司排名_代发软文_seo推广沧州公司电话

制作网页时一般不选用的图像文件格式是_北京互联网金融公司排名_代发软文_seo推广沧州公司电话

2025/1/19 17:20:00 来源:https://blog.csdn.net/ZHX2285/article/details/144378003  浏览:    关键词:制作网页时一般不选用的图像文件格式是_北京互联网金融公司排名_代发软文_seo推广沧州公司电话
制作网页时一般不选用的图像文件格式是_北京互联网金融公司排名_代发软文_seo推广沧州公司电话

索引  index

作用:加快数据查询速度

注意:

1.不适合在经常变动的数据上建立索引

2.建立在合适的字段上【根据前端业务的业户行为进行分析】

索引是创建在表的层面的,

并且索引的创建是表的一个字段的数值,来创建索引的。

数据中的搜索数据的默认行为是一条一条的搜索数据,而索引就是依据某一个字段的数值,为这个表创建了一个目录,当所有数据的数据可以根据这个表中的目录来所有需要的数据,

在MySQL数据库中有这样一个默认行为,就是当你在创建一个表的时候,会默认在这个表的主键字段,创建一个索引。。。

创建索引的时候,这个索引的字段必须是表中合适的字段【没有明确的标准和定论】。才可以提高这个查询数据的效率。

任何一个数据库都是面向前端的业务。。

当为表创建索引的时候,什么是合适的字段需要根据访问者的行为进行分析。

如上图所示,比如根据网站的日志或者是数据库的日志分析,访问者大都是通过什么字段来搜索产品的?

1.如何查看一张数据表的索引?

数据库会在表的主键字段上默认创建索引。

如上所示,可以使用命令show  index  from  表名;来查看这个表中有几条索引,以及这个索引的详细信息。【一行数据就代表着一条索引】

这个表的索引名称是PRIMARY  这个索引是建立在这个表的id字段上的。。

如上所示,这个desc  表名的行为是为了查看这个表结构

如上图所示,我们在创建这个表的时候,将这个表的id字段设置成了主键字段,所以就默认以这个id字段创建了一个索引。。

Field 显示了列名。
Type 显示了列的数据类型和长度。
Null 列表示该字段是否可以存储 NULL 值(YES 或 NO)。
Key 列显示了该字段是否被索引,如果有的话是什么类型的索引(例如,PRI 表示主键)。
Default 显示了该字段的默认值。
Extra 提供了额外的信息,比如是否是自动递增字段。
这个命令对于快速查看表结构或检查创建表时设置的选项非常有用。

2.创建索引

语法:

create index  索引名称  on  表名(字段名称,字段名称)

如上图所示,我们这个索引名称是server_ip_key,,创建在表server_info的server_ip字段上。。

如上图所示,这个表中有两个索引,使用的是show  index  from  表名\G来查看这个表的索引信息。

3.删除索引

drop  index  索引名称  on  表名

随后可以使用show  index  from  表名;

来查看到这个表中的索引信息。。

4.验证索引的作用?

在MySQL中如何验证有索引和无索引在工作流程上的区别呢?

在MySQL数据库中有一个查询分析器的东西。。

这个查询分析器可以帮助我们分析一个select语句是怎么获取到数据的,。

启用查询分析器

如上图所示,这是使用explain这个查询分析器来查看select语句的工作流程。

首先的select_type这个是代表的是这个查询的类型,而simple代表这个查询类型是简单查询。

table代表的是查询的test1这个数据表。。

而key代表的是使用这个select的时候,所使用的索引。

而rows代表的是,执行这个select语句的时候,所查询的数据,一共查询了46万行数据。

然后这里的key值代表select语句在执行的时候,是否使用了索引,因为这个key值为空,所以代表这个select语句在执行的时候,没有使用索引。

创建一个索引。

如上图所示,这就表示的是在这个test1表的price价格字段建立了一个索引。

如上图所示,此时在执行这个select语句调出这个表中商品价格等于5000的商品的时候,一个查询了39行数据,并且在这个key下显示使用了price_key这个索引。

如上图所示,这就是数据库中关于查询操作的优化。

如果SQL语句用不到索引,这时这个索引就是没有的。

比如在执行同一个查询操作的时候,一个人写的查询语句用到了索引信息,一个人写的查询语句没有用到索引,这时两个人的工作效率差了不止一倍。

为了避免这种情况【写的SQL语句不合适,没有用到索引信息】

1.数据库内部做数据类型转换的时候,就用不到索引。

如上图所示,当我们用引号将整形数据引起来的时候,这时的整形数据就成为了字符型数据。

但是数据库会帮助我们将这个字符型数据转换成int类型的数据,但是这时即使这个表中有索引也用不到。

2.当做不等值【大于号,小于号】判断的时候不会用到索引,

如上图所示,这是当我们在数据库中进行不等值判断的时候,不会用到索引。

3.写in(),or的时候可能不会触发使用索引

4.当使用模糊查询like的时候,可能也不会触发索引。

这个需要了解。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com