![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
healing97
热爱工作,热爱生活
展开
-
drop、delete与truncate的区别
```bash```c```handlebars SQL中的drop、delete、truncate都表示删除,但是三者有一些差别: 1. Delete用来删除表的全部或者一部分数据行,执行delete之后,用户需要提交(commmit)或者回滚(rollback)来执行删除或者撤销删除, delete命令会触发这个表上所有的delete触发器; 2. Truncate删除表中的所有数据,这个操作不能回滚,也不会触发这个表上的触发器,TRUNCATE比delete更快,占用的空间更小.原创 2021-03-24 11:28:10 · 515 阅读 · 0 评论 -
索引失效的情况
索引失效的情况使用explain select....../G;来查询是否使用到索引,如果使用到,可以通过key查到,否则key为null。1.最好全值匹配;2.最左前缀法则:如果索引使用了多列,查询从索引的最左前列开始,且不能跳过索引中的列;3.不在索引中做任何操作(计算,函数,类型转换),会导致索引失效而转向全表扫描;4.存储引擎不能使用索引中范围条件右边的列,即范围之后全部失效;5.精良使用覆盖索引,只访问索引的查询(索引列和查询列一致),减少使用select *;6.My原创 2020-05-29 23:26:17 · 195 阅读 · 1 评论 -
数据库如何优化
数据库如何优化explain 联合索引 最左前缀原则Innodb 辅助索引 id name age遵循索引设计的7大原则不要写导致索引失效的sql语句索引 --》 查找算法 有一个精确的数据让我们去查找 —》 退化全表查询select id from user where age = 50;(1)where 语句上写了函数select id from t where ...原创 2020-03-30 17:10:33 · 100 阅读 · 0 评论