哪个网站可以找设计师做设计师/风云榜小说排行榜

数据库面试
1、前缀索引
因为可能我们索引的字段⾮常⻓,这既占内存空间,也不利于维护。所以我们就想,如果只把很⻓字段的前⾯的公共部分作为⼀个索引,就会产⽣超级加倍的效果。但是,我们需要注意, order by 不⽀持前缀索引
流程是:
先计算完整列的选择性
1 select count(distinct col_1)/count(1) from table_1
再计算不同前缀⻓度的选择性
1 select count(distinct left(col_1,4))/count(1) from table_1
找到最优⻓度之后,创建前缀索引
1 create index idx_front on
2. 索引下推 (阿⾥社招 )
MySQL 5.6引⼊了索引下推优化。默认开启,使⽤ SET optimizer_switch = ‘index_condition_pushdown=offff’; 可以将其关闭。
- 有了索引下推优化,可以在减少回表次数;
- 在InnoDB中只针对⼆级索引有效;
比如,在 people_table中有⼀个⼆级索引 (zipcode,lastname,fifirstname) ,查询是 SELECT * FROM people WHERE zipcode=’95054′ AND lastname LIKE ‘%etrunia%’ AND address LIKE ‘%Main Street%’;
- 如果没有使⽤索引下推技术,则MySQL会通过 zipcode=’95054’ 从存储引擎中查询对应的数 据,返回到MySQL服务端,然后MySQL服务端基于 lastname LIKE ‘%etrunia%’ and address LIKE ‘%Main Street%’ 来判断数据是否符合条件。
- 如果使⽤了索引下推技术,则MYSQL⾸先会返回符合 zipcode=’95054’ 的索引,然后根据 lastname LIKE ‘%etrunia%’ and address LIKE ‘%Main Street%’ 来判断索引是否符合条件。如果符合条件,则根据该索引来定位对应的 数据,如果不符合,则直接reject掉。
以上就是酷仔今天整理提供的MySQL面试题,希望为学习MySQL的同学提供了有用的面试素材,以后酷仔每日均会提供MySQL、Python及Web相关的习题。