黑马程序员技术交流社区

标题: 【广州python】MYSQL数据库访问性能优化之减少CPU运算 [打印本页]

作者: dingliu    时间: 2018-9-13 16:35
标题: 【广州python】MYSQL数据库访问性能优化之减少CPU运算
本帖最后由 dingliu 于 2018-10-23 11:29 编辑

1、使用绑定变量

在SQL中对变化的值采用变量参数的形式,而不是在SQL中直接拼写对应的值,这就是绑定变量。

非绑定变量:Select * from employee where id=1234567

绑定变量:

Select * from employee where id=?

Preparestatement.setInt(1,1234567)


2、合理使用排序

大记录集排序不仅增加了CPU开销,而且可能会由于内存不足发生硬盘排序的现象,当发生硬盘排序时性能会急剧下降,

以下列出了可能会发生排序操作的SQL语法:

Order by、Group by、Distinct、Exists子查询、Not Exists子查询、In子查询、Not In子查询、Union(并集)、Minus(差集)、Intersect(交集)、Create Index、Merge Join


3、减少模糊查询

Like模糊查询对于数据库来说不是很擅长,特别是你需要模糊检查的记录有上万条以上时,性能比较糟糕,这种情况一般可以采用专用Search或者采用全文索引方案来提高性能。


4、大量复杂运算在客户端处理

一秒钟CPU只能做10万次以内的运算。如含小数的对数及指数运算、三角函数、数据加密算法就为复杂运算

如果有大量这类函数运算,尽量放在客户端处理,一般CPU每秒中也只能处理1万-10万次这样的函数运算,放在数据库内不利于高并发处理。


扫码关注黑马视频库公众号,免费获取黑马全学科视频教程






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2