索引

索引

索引的目的在于提高查询效率

索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。

更通俗的说,数据库索引好比是字典前面的目录,能加快数据库的查询速度


索引的使用

    查看索引

        show  index  from  表名;

    创建索引

        1.如果指定字段是字符串,需要指定长度,建议长度与定义字段时的长度一致

        2.字段类型如果不是字符串,可以不填写长度部分

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

    删除索引:

        drop  index  索引名称  on  表名;

例:

    创建测试表 test_index

    通过pymsql模块 向表中加入十万条数据

    查询:

        开启运行时间监测:

            setprofiling=1;

        查找第1万条数据ha-99999

            select * from  test_index  where  title='ha-99999';

            没有创建索引  效率慢  所需的时间长

        查看执行的时间:

            show  profiles;

        为表title_index的title列创建索引:

            create  index  title_index on  test_index(title(10));   ---title(10) = varchar(10)

            创建索引   效率快   所需的时间短


索引的目的在于提高查询效率

要注意的是,建立太多的索引将会影响更新和插入的速度,因为它需要同样更新每个索引文件。对于一个经常需要更新和插入的表格,就没有必要为一个很少使用的where字句单独建立索引了,对于比较小的表,排序的开销不会很大,也没有必要建立另外的索引。

建立索引会占用磁盘空间

对于只是单纯  查询的表  建立索引是可以的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容