数据库
瑶瑶乐1117
一个努力学习大数据技术的小学生
展开
-
慢查询分析
mysql默认是不开启慢查询日志的,如果不是为了优化,建议不要开启查看慢查询日志是否开启:开启慢查询日志:这种方法开启只是临时开启,不是永久开启的如果想要永久开启,就要在配置文件中设置看一下超过多长时间的查询才是慢查询:下面显示的10就是超过10秒被认为是慢查询语句设置慢查询的阈值时间:如果有查询时间超过3秒的语句,就会把日志信息导入到上面显示的日志文件中,就可以拿出来进行分析。对慢查询进行分析:...原创 2021-01-24 16:15:08 · 128 阅读 · 0 评论 -
查询优化的一点点总结
小表驱动大表:小的数据集驱动大的数据集:order by的几点注意:排序使用索引也是遵循最佳左前缀的Mysql有两种排序:文件排序和扫描有序索引排序,尽量避免文件排序,会导致查询非常的缓慢。尽量在索引列上排序。排序和索引可以使用同一个索引,尽量这么使用同时,在需要对不同字段进行排序的时候,尽量同升或者同降的排序,否则索引会失效几点注意:1.group by 实质是先排序再分组的,遵循索引键的最佳左前缀2.当无法使用索引列,增大max_length_for_sort_data参数的设置+增原创 2021-01-24 15:41:56 · 105 阅读 · 0 评论 -
SQL索引优化
索引失效:1.最佳左前缀法则:表中从左到右的列,如果在某几列建立了索引,则在查询的时候不能越过最左边的建立索引的列,否则索引失效;也不越过中间的建立索引的列,负责后面的索引也会失效。2.不在索引列上做任何操作,否则也会全表扫描3.将索引列用作范围查找的话,那么在此索引列之后的索引都会失效4.尽量少用 select *;如下所示,不使用select * ,Extra还额外用到了Index5.mysql在使用 !=或者<>时无法使用索引,会导致全表扫描6.is null,is原创 2021-01-23 21:31:49 · 329 阅读 · 0 评论 -
SQL的索引学习部分总结
索引索引是数据结构,可以帮助mysql高效获取数据。是排好序的快速查找数据结构。索引一般是以BTREE实现的,每个节点保存着索引键值,指向表中的物理数据。而且索引本身也很大,一般不会放在内存中。*- 优点:1.提高了数据检索的效率,降低数据库的IO成本;2.通过索引列对数据进行排序,降低数据排序的成本,降低了CPU的消耗。缺点:1.索引实际上也是一张表,保存了主键和索引字段,并指向实体表的记录,所以索引列占用空间较大;2.降低了更新表的速度,因为每个修改表都会更新索引表;3.优化耗时*索引的分原创 2021-01-18 21:10:44 · 200 阅读 · 0 评论 -
MySQL的引擎初识
首先,查看一下mysql的引擎可以看到,mysql默认使用的执行引擎是InnoDBInnoDB引擎的特点:支持主外键和事务是行锁,操作只锁定某一行,不对其他行有影响,所以适合高并发的操作缓存区不仅缓存索引也缓存真实数据,所以对内存要求较高,内存大小对性能有这决定性的影响在5.5版本之前,mysql的默认执行引擎是MyISAM,这也是比较常用的执行引擎MyISAM引擎的特点:不支持外键和事务不支持行锁,但是支持表锁,但是由于操作需要锁定整张表,所以不适合高并发场景优势是访问速度快,原创 2021-01-18 15:13:54 · 93 阅读 · 0 评论