1、可以通过提升冗余来提升查询匹配速度
2、可以使用建立索引的方式提升查询速度(从O(n)–>O(logn))。
注意不是有序的数据才能用索引,而是因为新建立索引才变得有序。
那些搜索语句会破化索引。破坏索引:某些时候无法使用索引。
索引文件占据磁盘空间,所以使用索引磁盘会比原来的表占用的空间还多,但是内存的消耗大大降低。在内存使用的时候只需要根据索引文件找到表文件中的某一行数据加载到内存中即可。
3、分表:数据库优化的一种。
当数据量过大的时候导致索引文件也会变大,内存和磁盘io负担会加重,所以使用分表策略进行优化。分表只要表中的数据能够在内存中均匀的存储(比如散列),而且能够用过某种方法查询就可以分表。
简单的分表查询就是给么一个小表加一个标记,能够根据不同的标记进行查询。
4、分库,就是前端在不同服务器可能使用分配到的数据库数量不同,比如总共30个,A服务器需要5个数据库,B数据库需要15个数据库,C服务器需要10个数据库。要求存的时候必须都存成功,读的时候可以只选择一个读。数据库可以通过配置的方式进行一个里面存储的同时,对其他里面自动存相同的数据。不需要写代码只需要配置即可。当数据在第一个里面存成功但是后两个里面存失败也需要返回失败。
注意:上面的配置一个另两个自动配置指的是在冗余的情况下一个数据库存三遍,不存在分库,这样读速度会提升但是写速度会降低。
我们在分配的时候可以通过假设用余数的方式,余数不同分配到不同的服务器。
绝大多数的系统都是读多写少,所以写慢一点无伤大雅,分库的主要缺点是不好做连表查询。
所以我们可以根据有没有使用连表查询来选择使用哪种存储模式。(这些都是索引解决不了的问题得使用分表、分库)
分表是用过降低索引文件大小降低并发压力,分库是从根本上增多服务器降低并发压力。
5、设置主从+哨兵----当一个数据库损坏的时候可以用其他的顶替上来。
哨兵:用来检测(也是一主一从,当一个哨兵坏了另一个顶上来),哨兵主要负责监控哪个是主哪个然后转发给主。
现在的存储数据一般都是主从+哨兵机制(容灾机制)
数据库优化
2025/5/3 18:22:33
来源:https://blog.csdn.net/weixin_52836217/article/details/144147109
浏览:
次
关键词:数据库优化
版权声明:
本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。
我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com