MySQL数据库在公司网站建设中的优化

2022-11-09 10:59 行业动态
MySQL优化的主要方法:


1.优化索引、SQL语句,分析慢速查询;


2.设计表格时,严格按照数据库的设计范式设计数据库;


3.我们还可以缓存、静态化和分发我们的业务架构;


4.不用全文索引,用Xunsearch,ES或者云服务器上的索引;


5.如果效率还是不够好,可以采用主从模式分别读写数据;


6.可以添加memcached缓存,将经常访问但很少更改的数据放入memcached缓存服务器,这样可以节省磁盘I/O;


7.我们还可以优化硬件。在硬件层面,我们可以使用一些更好的硬盘(固态硬盘)和一些磁盘阵列技术(raid0、raid1、raid5)

-raid0:最简单(两块硬件加起来100G+100G=200G)

-raid1:镜像卷并将相同的数据复制为两份。可以立即从A/B读取,效率更高,硬盘坏了也不会丢失一片数据;

-raid5:3个硬盘,其中一个坏了,另外两个还能工作。


8.如果还是慢,先不要分表。可以利用MySQL自带的表分区技术,将数据划分到不同的文件中,这样可以让磁盘在读取时效率更高;


9.可以垂直分表,将不经常读取的数据放到另一个表中(节省磁盘I/O);


10.数据量如此之大,我们将很难对其进行优化。这时候我们可以用数据库中间件把数据分成数据库、表和机器。(原理:数据路由);


1.此外,还可以使用一些更快的存储方式,比如NoSQL存储一些我们需要经常访问的数据(数据库取出后,再从NoSQL取出一些其他数据);


12.另外还有一些表引擎选项,一些参数优化的相关提示都是优化MySQL的方法;

例如:MySQL索引的优化;


&nbs校园网站优化照片排版设计p;只要列包含空值,在本例中最好不要设置索引。如果复合索引具有空值,则在使用该索引时,该列不会使用该索引。


[/div]尽量使用短索引。如果可能的话,微信微信官方账号小程序的开发要设置一个前缀长度。


[/div]对于where子句中经常使用的列,最好设置索引,这样会加快搜索速度。


[/div]对于多列的where或order by子句,应该建立复合索引。


[/div]对于like语句,不会使用以%或'-'开头的索引,但会使用以%结尾的索引。


[/div]尽量不要对列进行运算(函数运算和表达式运算)。


[/div]尽量不要使用not in和< & gt操作

[div]

MySQL语句的优化方面:


[div]

查询的时候,能不能*就不用*了,尽量把字段名都写出来?


[/div]在大多数情况下,连接效率要比子查询高得多。


[/div]使用解释和分析来分析查询语句。


查看慢速查询日志,找出执行时间长的sql语句优化。


连接多个表时,尽量让小表带动大表,即小表加入大表。


[/div]千万级分页时使用限制。


[/div]对于经常使用的查询,可以打开缓存。

[div]

[div]

MySQL表的优化:


表格的字段尽量不为空。


字段长度固定的表查询会更快。


[/div]将数据库的大表按时间或某些标志划分成小表。


对表进行分区。

[div]

[div]

[/div]使用UNION代替手动创建的临时表来优化MySQL方面;

[div][div]

微信与项目经理沟通

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流

阅读
上一篇:大数据分析的商业应用
下一篇:如何提高网站的权重?