mysql优化 索引
来源:互联网 发布:宋岳庭的故事 知乎 编辑:程序博客网 时间:2024/06/03 16:42
一.定长
- int(4):不代表只能存4个字符,只有 zerofill 时候有效,能够看出区别,且只有在命令行下可以看出区别
- time:定长
- char(4):定长 4个字符,而不是字节 renf是四个字符 1234是四个字符
tinyint 1,2,3,4,5 与char a,b,c,d,e 相比 order by时候要快 char要考虑字符集与校对集
二.添加索引
添加唯一索引
alter table shop_admin add unique user_pass(‘username’,’password’) username,password (唯一索引,一行数据只能出现一次 ) 与别的数据相比 必须有一个不同
原数据 2 3
新行 6 3 可以
而 2 3 不可以添加联合索引
alter table shop_admin add index user_pa(‘username’,’password’)
三.索引覆盖(值必须要加引号,否则会不走索引)
- 索引覆盖
select age from user where age>32 - 建立复合索引
alter table shop_admin add index user_pass_ip(adminuser,adminpass,loginip)explain select loginip,adminuser from shop_admin where loginip='1'
会发现 using index 索引覆盖,而没有遵循左前缀原则
四.检测语句
- 检测执行时间
set profilling=on;
select *from shop_admin
show profiles;
五. 例子
索引类型
1,里面有text 字段
select id from test order by id 更慢
select id from test order by id,ver 更快innodb 聚簇索引,主键索引就是挂着所有数据, id,ver叶子拖着数据少
id,ver 为次级索引 指向主键值
myisam :非聚簇索引 索引指向磁盘位置 xx.myi(索引文件) xx.myd(数据文件)区分度:
select count(distinct(left(word,1))) /count(*)
alter table shop_admin add key key_4( word(4) )
统计 不重复的左面第一个字符 的数量存储ip
①多建一列 crc32 建立索引
②或者翻转www.baidu.com=>moc.udiab.www
六.外键
外键用于:user表为主表 org_user表为从表,当user表删除一个用户后,从表也要删除对应的id的信息
alter table org_user add foreign key 'user_id' ('user_id') references user('id') on delete cascade on update NO ACTION
- MySql优化--索引优化
- MySql索引优化注意
- MySql索引优化注意
- Mysql索引的优化
- MySQL索引优化
- MySQL索引优化
- MySQL查询优化---索引
- MySql索引优化注意
- MySQL索引优化笔记
- Mysql索引优化浅谈
- MysqL索引优化
- MYSQL [ 优化 --- 索引 ]
- mysql复合索引优化
- mysql 索引优化
- Mysql 索引优化
- Mysql索引优化
- MySQL优化索引解析
- MySQL性能优化---索引
- 设备的使用,软硬连接,文件查找
- 十分钟看懂图像语义分割技术
- mybatis把整数0识别为null
- Ocr引擎
- 你喜欢的搞笑内容都在这里-----笑口常开
- mysql优化 索引
- ZOJ
- RecyclerView使用介绍
- Android6.0之Intent使用与源码分析
- window下通过nvm-windows来安装多版本node
- Configuration the Remote desktop Connection in Windows 2012R2
- web--3.页面跳转
- 我对Unity中Quaternion * Vector3的理解
- Architectures与Valid Architectures区别