索引:索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。
索引的使用
查看索引
show index from 表名;
创建索引
-
如果指定字段是字符串,需要指定长度,建议长度与定义字段时的长度一致
-
字段类型如果不是字符串,可以不填写长度部分
create index 索引名称 on 表名(字段名称(长度))
删除索引
drop index 索引名称 on 表名;
索引代码示例
创建测试表test_index
create table test_index(title varchar(10));
使用python程序(ipython也可以)通过
pymsql
模块 向表中加入十万条数据
from pymysql import connect
def main():
# 创建Connection连接
conn = connect(host='localhost', user='root', password='root', database='test')
# 获得Cursor对象
cursor = conn.cursor()
# 插入10万次数据
for i in range(100000):
cursor.execute("insert into test_index values('ha-%d')" % i)
# 提交数据
conn.commit()
if __name__ == "__main__":
main()
查询
开启运行时间监测
set profiling=1;
查找第1万条数据ha-99999
select * from test_index where title='ha-99999';
查看执行的时间
show profiles;
为表test_index
的title
列创建索引title_index
create index title_index on test_index(title(10));
执行查询语句
select * from test_index where title='ha-99999';
再次查看执行的时间
show profiles;