2)尽量少 join
MySQL 的优势在于简单,但这在某些方面其实也是其劣势 。MySQL 优化器效率高,但是由于其统计信息的量有限,优化器工作过程出现偏差的可能性也就更多 。对于复杂的多表 Join,一方面由于其优化器受限,再者在 Join 这方面所下的功夫还不够,所以性能表现离 Oracle 等关系型数据库前辈还是有一定距离 。但如果是简单的单表查询,这一差距就会极小甚至在有些场景下要优于这些数据库前辈
3)尽量少排序
排序操作会消耗较多的 CPU 资源 , 所以减少排序可以在缓存命中率高等 IO 能力足够的场景下会较大影响 SQL的响应时间 。
对于MySQL来说,减少排序有多种办法,比如:
通过利用索引来排序的方式进行优化
减少参与排序的记录条数
非必要不对数据进行排序
4)尽量避免 select *
在数据量少并且访问量不大的情况下 , select * 没有什么影响 , 但是量级达到一定级别的时候,在执行效率和IO资源的使用上,还是有很大关系的,用什么字段取什么字段 , 减少不必要的资源浪费 。
5)尽量用 join 代替子查询
虽然 Join 性能并不佳,但是和 MySQL 的子查询比起来还是有非常大的性能优势 。MySQL 的子查询执行计划一直存在较大的问题,虽然这个问题已经存在多年 , 但是到目前已经发布的所有稳定版本中都普遍存在 , 一直没有太大改善 。虽然官方也在很早就承认这一问题,并且承诺尽快解决,但是至少到目前为止mysql性能优化怎么用我们还没有看到哪一个版本较好的解决了这一问题 。
Linux上MySQL优化提升性能 , 哪些可以优化关闭NUMA特性?Linux上MySQL优化提升性能,可以优化关闭NUMA特性如下:
这些其实都源于CPU最新的技术:节能模式 。操作系统和CPU硬件配合,系统不繁忙的时候,为了节约电能和降低温度,它会将CPU降频 。
为了保证MySQL能够充分利用CPU的资源,建议设置CPU为最大性能模式 。这个设置可以在BIOS和操作系统中设置 , 当然,在BIOS中设置该选项更好,更彻底 。
然后我们看看内存方面,我们有哪些可以优化的 。
i)我们先看看numa
非一致存储访问结构(NUMA:Non-UniformMemoryAccess)也是最新的内存管理技术 。它和对称多处理器结构(SMP:SymmetricMulti-Processor)是对应的 。
我们可以直观的看到:SMP访问内存的都是代价都是一样的;但是在NUMA架构下,本地内存的访问和非本地内存的访问代价是不一样的 。对应的根据这个特性,操作系统上,我们可以设置进程的内存分配方式 。目前支持的方式包括:
--interleave=nodes
--membind=nodes
--cpunodebind=nodes
--physcpubind=cpus
--localalloc
--preferred=node
简而言之,就是说,你可以指定内存在本地分配 , 在某几个CPU节点分配或者轮询分配 。除非是设置为--interleave=nodes轮询分配方式,即内存可以在任意NUMA节点上分配这种方式以外 。其他的方式就算其他NUMA节点上还有内存剩余 , Linux也不会把剩余的内存分配给这个进程,而是采用SWAP的方式来获得内存 。
所以最简单的方法,还是关闭掉这个特性 。
关闭特性的方法,分别有:可以从BIOS,操作系统,启动进程时临时关闭这个特性 。
a)由于各种BIOS类型的区别,如何关闭NUMA千差万别,我们这里就不具体展示怎么设置了 。
b)在操作系统中关闭,可以直接在/etc/grub.conf的kernel行最后添加numa=off,如下所示:
kernel/vmlinuz-2.6.32-220.el6.x86_64roroot=/dev/mapper/VolGroup-rootrd_NO_LUKS.UTF-8rd_LVM_LV=VolGroup/rootrd_NO_MDquietSYSFONT=latarcyrheb-sun16rhgbcrashkernel=autord_LVM_LV=VolGroup/swaprhgbcrashkernel=autoquietKEYBOARDTYPE=pcKEYTABLE=usrd_NO_DMnuma=off
推荐阅读
- 农村电商如何做财富自由,农村电商的方式
- 供电所学生顶岗gis采集总结,供电所用电信息采集系统培训
- mysql数据库存储加密,mysql数据库用户密码加密
- cad图片转word尺寸,怎样把cad图片转到word中放大
- php插入数据 php往数据库添加数据
- 佣兵荣耀游戏战略,微信小游戏佣兵荣耀攻略
- word怎么用目录,word怎么用目录生成标题
- java单元测试案例代码 java单元测试案例怎么写
- 英伟达630m显卡怎么样,英伟达显卡650