十大“杀手”,可以快速提升MySQL性能

发布者:上海IT外包来源:http://www.lanmon.net点击数:1086

随着应用程序的频繁使用,软件变得越来越慢。这可能是一个记忆问题。这可能是一个软件设计问题,但你有没有想过你每天操作的数据库会拖动你的应用程序? ?
以下是帮助您获得数据库性能并让您的应用程序飞行的十个提示。让小编带你去看看他们的独特之处。
杀手1:设置一定时间来优化重建数据库
MySQL检查-o -all -database将使ibdata1保持增长,因此真正的优化只能是重建数据库表结构。
快速提升MySQL性能—— 10大“杀手”
杀手2:减少磁盘写入操作
准备一个足够大的写缓存innodb_log_file_size,它与写磁盘操作密切相关。
避免双写缓冲
杀手3:提高磁盘读写效率
RAID0使用名为EC2的虚拟磁盘时,使用RAIDO可以大大提高磁盘的读写效率。
杀手4:使用UNION INDEX而不是UNION
我们知道使用索引可以有效地减少数据库中的数据量,提高查询效率,因为索引可以直接找到目标对象,而不需要检索所有数据库。
例如:数据库索引就像在书籍管理中查找您正在寻找的书一样,在查询系统之后,我们可以知道书架在哪个区域,以便我们可以快速找到我们想要的书。没有必要在大型库中查找它。数据库索引是一样的。
索引代码:
使用索引在数据库中查询用户的帐户和密码:
杀手5:将数据库保存在内存磁盘中
随着硬盘技术的改进,很多人将数据库存放在固态硬盘(SSD)中。虽然目前的固态硬盘比移动硬盘快得多,但它仍然无法与计算机的内存(RAM)相比。毕竟,数据来自系统内存中的读取速度比其他所有内容都要快。建议使用内存磁盘。
随着计算机设备技术的进步,您不需要将所有数据库存储在内存中,您可以在内存中获得大部分性能优势,您只需将常用数据存储在内存中即可。
快速提升MySQL性能—— 10大“杀手”在上图中,您每秒最多可以看到2,000个I/O操作。可以看出,将常用数据存储在存储器中是合适的。
杀手6:充分利用日志查询
使用所有ORQ系统或生成查询语句更有效。
请记住,请不要在构建环境中使用它,否则您的磁盘空间将已满。
执行1s查询:
杀手7:使用MySQL来使用MySQL
使用HnadleSocket跳过MySQL SQL解析层并使MySQL成为真正的NLSQL。
杀手8:使用JOIN而不是子查询
在MySQL 4.1开始支持子查询之后,您可以使用select创建单个列查询结果,然后将此查询结果用作另一个查询中的条件。例如:我们现在需要在系统中没有任何订单的情况下删除客户。此时,我们可以使用子查询,首先从销售订单表中取出所有客户ID和订单,然后将ID传递给主查询。
接下来,我们找出没有订单的客户ID并进一步优化它。
我们知道使用子查询可以一次完成,SQL操作可能需要很多步骤来完成,同时避免表锁和简单操作。
使用连接连接而不是子连接,查询速度将更快,因为MySQL不需要在内存中创建临时表来完成主查询和子查询的两个步骤。当然,JOIN连接变得非常快。
杀手9:尝试使用“=”而不是“>
“要么”
IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部