MySQL处理大数据优化
MySQL 默认引擎与索引了解
- 索引其实是一种数据结构,能够帮助我们快速的检索数据库中的数据
- 索引优缺点
优点:使用索引可以提高查询表数据的效率和性能。增加表连接的效率。增加排序的效率;
缺点:使用索引 索引会占用一定的物理空间,对数据的修改和插入数据都会维护对应的索引,会消耗一定的性能; - MySQL 引擎是InnoDB默认b+Tree
- 索引可分为hash索引(redis) b+Tree(mysql)索引两种
- hash索引 b+Tree索引两种区别:
hash索引底层为hash表,适合等值查询,但无法进行范围查询
hash索引没办法利用索引完成排序 hash索引不可避免全表查询
hash如果有大量重复键的情况下,hash索引的效率会很低下,因为会产生哈希碰撞问题
mysql处理大数据时如何提高其查询速度
尽量避免在 where 子句中使用!=或<>操作符,否则将导致引擎放弃使用索引而进行全表扫描;
对查询进行优化,尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引;
尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,可以在为null字段上设置默认值0,确保表中表列没有null值;
尽量避免在 where 子句中对字段进行表达式操作,否则将导致引擎放弃使用索引而进行全表扫