mysql
sunsgne_AC
这个作者很懒,什么都没留下…
展开
-
数据库建索引原则
1.最左前缀匹配原则,非常重要的原则 create index ix_name_email on s1(name,email,) - 最左前缀匹配:必须按照从左到右的顺序匹配 select * from s1 where name='egon'; #可以 select * from s1 where name='egon' and email='asdf'; #可以 select * from s...原创 2020-11-12 10:54:33 · 321 阅读 · 1 评论 -
B+树索引和Hash索引
导读在MySQL里常用的索引数据结构有B+树索引和哈希索引两种,我们来看下这两种索引数据结构的区别及其不同的应用建议。二者区别备注:先说下,在MySQL文档里,实际上是把B+树索引写成了BTREE,例如像下面这样的写法:CREATE TABLE t(aid int unsigned not null auto_increment,userid int unsigned not null defau...转载 2018-02-26 10:21:59 · 818 阅读 · 0 评论 -
MySql的两种存储引擎的区别
MyISAM:不支持事务,但是每次查询都是原子的;支持表级锁,即每次操作是对整个表加锁;存储表的总行数;一个MYISAM表有三个文件:索引文件、表结构文件、数据文件;采用菲聚集索引,索引文件的数据域存储指向数据文件的指针。辅索引与主索引基本一致,但是辅索引不用保证唯一性。InnoDb:支持ACID的事务,支持事务的四种隔离级别;支持行级锁及外键约束:因此可以支持写并发;不存储总行数;一个InnoD...转载 2018-02-24 15:11:42 · 1343 阅读 · 0 评论 -
哪种情况下数据库索引会失效
文章出自https://www.cnblogs.com/itsharehome/p/4972948.html1.如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因)注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引2.对于多列索引,不是使用的第一部分,则不会使用索引3.like查询是以%开头 4.如果列类型是字符串,那一定要在条件中将数据使用引号引...转载 2018-03-29 10:55:26 · 1153 阅读 · 0 评论 -
MySql分页出现重复数据的问题
今天正在搬砖的时候运营报过来一个问题,查询用户角色列表数据丢失了,通过查询发现是因为分页导致的第一页和第二页有重复数据 像上面这两张图一样,去扒代码中的sql发现sql语句用了order by update_time 做排序,通过对比丢失的数据和重复数据发现他们的update_time是一样的。 解决办法就是order by 唯一数据 例如 order by id ,这样保证排序条件的...原创 2019-06-27 15:19:24 · 1549 阅读 · 0 评论 -
sql 按照多个字段排序
ORDER BY后可加2个字段,用英文逗号隔开。 f1用升序, f2降序,sql该这样写 ORDERBY f1, f2 DESC 也可以这样写,更清楚: ORDERBY f1 ASC, f2 DESC 如果都用降序,必须用两个desc ORDERBY f1 DESC, f2 DESC ...原创 2019-08-29 20:30:33 · 653 阅读 · 0 评论