索引

索引是一种特殊的文件(innoDB数据表上的索引是表空间的一个组成部分)


数据量大经常查询需要建立索引


索引可以加快数据库运行速度


创建测试表

use TCL


create table text_index(title varchar(10));








插入十万条数据

from pymysql import connect


def main():


    #创建Connection连接


    conn = connect(host = 'localhost',port = 3306,user = 'root' ,password = 'hezhuang',database = 'TCL',charset = 'utf8')


    #  获得Cursor对象


    cursor = conn.cursor()


    #插入十万条数据


    for  i  in range(100000):


        corsor.execute("insert into text_index values('ha-%d')"%i)


    #提交数据


    conn.commit()


if __name__ == '__main__':


    main()




查询索引



开启运行时间监测  set profiling = 1;


查看第一万条数据ha-9999    select * from test_index where title = 'ha-9999';


查看执行时间  show profiles;


为表title_index 的title 列创建索引  create index title_index on test_index (title(10));


执行查询语句  select * from test_index where title = 'ha-9999';


再次查看执行时间 show profiles;






创建索引的情况

1、主键自动建立唯一索引


2、操作的文件使用频繁可以作为查询条件的字段应该创建索引


3、查询中与其他表关联的字段,外键关系建立索引


4、频繁更新的字段不适合建立索引,因为每次更新不单单是更新了记录还会更新索引


5、WHERE条件里用不到的字段不创建索引


6、查询中排序的字段,排序的字段若通过索引去访问将大大提高排序速度


7、查询中统计或者分组字段




不需要创建索引的情况

1、表记录太少


2、经常增删改的表


3、如果某个数据列包含许多重复内容,为它建立索引就没有太大的实际效果

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

相关阅读更多精彩内容

  • 索引是一种特殊的文件(innoDB数据表上的索引是表空间的一个组成部分) 数据量大经常查询需要建立索引 索引可以加...
    斜杠先生_阅读 1,148评论 0 0
  • 索引是什么 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录...
    腿长兩米八阅读 1,783评论 0 0
  • 索引 1. 思考 在图书馆中是如何找到一本书的? 一般的应用系统对比数据库的读写比例在10:1左右(即有10次查询...
    杜大个阅读 2,350评论 0 0
  • MYSQL-索引 概述 用来加快查询的技术很多,其中最重要的是索引。通常索引能够快速提高查询速度。如果不适用索引,...
    VaLee_阅读 2,662评论 0 0
  • 索引的基本原理,以及数据是如何被访问的 (一)SQLS如何访问没有建立索引的数据表 Heap译成汉语叫做“堆”,其...
    安易学车阅读 8,848评论 0 8

友情链接更多精彩内容