作者:shunz,出处:http://shunz.net/2008/06/mysql_discuz_.html 最近,帮一个朋友优化一个拥有20万主题,100万帖子,3万多会员,平均在线人数2000人的Discuz!论坛,采用Linux2.6+Apache2+mod_php5+MySQL5,服务器配置为双至强+4G内存,优化前,系统平均负载(load average)基本维持在10以上,MySQL的CPU占用率基本在90%以上,优化后,系统平均负载降到0.5以下,MySQL的CPU占用率很少有超…
实践中如何优化MySQL 实践中,MySQL的优化主要涉及SQL语句及索引的优化.数据表结构的优化.系统配置的优化和硬件的优化四个方面,如下图所示: SQL语句及索引的优化 SQL语句的优化 SQL语句的优化主要包括三个问题,即如何发现有问题的SQL.如何分析SQL的执行计划以及如何优化SQL,下面将逐一解释. 怎么发现有问题的SQL?(通过MySQL慢查询日志对有效率问题的SQL进行监控) MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具…
mysql数据库架构设计与优化 2019-04-23 20:51:20 无畏D尘埃 阅读数 179  收藏 更多 分类专栏: MySQL   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_37735385/article/details/89480900 数据库设计规范 数据库设计规范 1. 数据库命名规范 2. 数据库基本设计规范 3. 数据库索引设计规范 4. 数据库字段设计规…
MySQL数据库基础知识及优化必会的知识点,你掌握了多少? 推荐阅读: 这些必会的计算机网络知识点你都掌握了吗 关于数据库事务和锁的必会知识点,你掌握了多少? 关于数据库索引,必须掌握的知识点 目录 SQL语句基础知识及优化 SQL语句主要分为哪几类 * SQL约束有哪些? ** 什么是子查询? ** 了解MySQL的几种连接查询吗? *** mysql中in和exists的区别? ** varchar和char的区别? *** MySQL中int(10)和char(10)和varchar(10…
Mysql数据库写入数据速度优化 1)innodb_flush_log_at_trx_commit 默认值为1:设置为0,可以提高写入速度.  值为0:提升写入速度,但是安全方面较差,mysql服务器宕机可能会造成数据丢失. 值为1:每一次事务提交或者事务外的指令都需要把日志写入硬盘,此过程消耗时间较长: 值为2:是每次操作不写入硬盘,而是写入系统缓存,日志仍然会每秒刷新硬盘: 2)innodb_autoextend_increment默认值为8M,调整为128M : 此配置项作用主要是当tab…
写在前面 今天没事研究了下,将日志文件写入mysql数据库,因为新公司用的数据库也是mysql,项目中需要将日志信息写入数据库,没办法,就研究了下.在使用过程中遇到一个很蛋疼的问题.最后解决了,郁闷了半天.这里做一下记录,以免再犯. 之前写个这方面的文章,关于配置信息,可参考我的这篇文章:Log4Net日志记录两种方式 解决办法 问题就出在我直接将log4net写入数据库的配置文件log4net.config直接复制过来在项目中使用了,当然是修改了连接字符串,提供程序等与mysql相关的配置.配…
mysql 数据库是被广泛应用的关系型数据库,其体积小.支持多处理器.开源并免费的特性使其在 Internet 中小型网站中的使用率尤其高.在使用 mysql 的过程中不规范的 SQL 编写.非最优的策略选择都可能导致系统性能甚至功能上的缺陷. 恰巧就在前几天,本人所在公司的云事业部举办了一场关于 mysql 的技术交流会,其中一个 part 正是聚焦于开发过程中 mysql 数据库设计及使用的常见问题,并提出相关优化方案.根据会议内容并查阅相关资料,本人对这个 part 进行了一次小结,结合自…
mysql 数据库是被广泛应用的关系型数据库,其体积小.支持多处理器.开源并免费的特性使其在 Internet 中小型网站中的使用率尤其高.在使用 mysql 的过程中不规范的 SQL 编写.非最优的策略选择都可能导致系统性能甚至功能上的缺陷. 恰巧就在前几天,本人所在公司的云事业部举办了一场关于 mysql 的技术交流会,其中一个 part 正是聚焦于开发过程中 mysql 数据库设计及使用的常见问题,并提出相关优化方案.根据会议内容并查阅相关资料,本人对这个 part 进行了一次小结,结合自…
### Mysql性能优化 尽量不要写select * ,如果需要全表数据,使用select 加所有字段列名称查询代替* 尽量减少字段列的数学计算,如:where num * 2 >= 30,可改为 where num >= 30/2 学会使用 explain 关键字 查看当前sql语句的优化程度 例如: explain select * from emp where ename = "孙悟空" table : 表名 type : 连接类型,从最差到最好分为 all(查询所…
提起MySQL数据库在硬件方面的优化无非是CPU.内存和IO.下面我们着重梳理一下关于磁盘I/O方面的优化. 1.磁盘冗余阵列RAID RAID(Redundant Array of Inexpensive Disk)的基本目的是把小型廉价的硬盘合并成一块大容量的硬盘,用于解决数据冗余性并降低成本,且提高数据处理性能. 1.1 RAID的优点 RAID的优点可以从高传输速率和容错两方面来阐述: (1)提高传输速率.RAID通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量(Thro…