- 浏览: 7851939 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
中摘了一些原则,最近对一个100多万条数据的表做优花时,有如下心得:
1) 取必须要用的数据
这里对于select 语句中只选有用的字段,这样的原则就肯定人人都知道的了。但关键的是,要从全局考虑问题,比如我的这个应用
是每个新闻网页的跟帖,一条新闻有很多很多人跟帖,平均有40-50条,那么每天这么多新闻,很多的跟帖记录,但对于审帖
者,由于是每天上班工作的,每天他们会把当天的帖子审核掉,因此,在做记录列表时,只需要选用出当前时间以内1-2天的记录就可以了,
这里已经是大大优化
2 ) 建好索引
这里的学问太多,也太多文章讲,这里不说
3 ) MYSQL的优化
第三个工作才是MYSQL的优化,其实就是改my.ini,有如下几点,归纳下.(我的是4G内存的双核机器)
A 设置key_buffer_size
key_buffer_size指定索引缓冲区的大小,这个值越高,索引可以使用的内存越多,一般为可用内存的25-30%,它决定索引处理的速度,尤其是索引读的速度。通过检查状态值Key_read_requests和Key_reads,可以知道key_buffer_size设置是否合理。比例key_reads / key_read_requests应该尽可能的低,至少是1:100,1:1000更好(上述状态值可以使用SHOW STATUS LIKE ‘key_read%’获得)。
key_buffer_size只对MyISAM表起作用。即使你不使用MyISAM表,但是内部的临时磁盘表是MyISAM表,也要使用该值。可以使用检查状态值created_tmp_disk_tables得知详情。
对于1G内存的机器,如果不使用MyISAM表,推荐值是16M(8-64M)。
B max_connections数量
MYSQL建议使用table_cache=max_connection*N来设置tablecache,N为标准连接中表的数量
C table_cache
table_cache指定表高速缓存的大小。每当MySQL访问一个表时,如果在表缓冲区中还有空间,该表就被打开并放入其中,这样可以更快地访问表内容。通过检查峰值时间的状态值Open_tables和Opened_tables,可以决定是否需要增加table_cache的值。如果你发现open_tables等于table_cache,并且opened_tables在不断增长,那么你就需要增加table_cache的值了(上述状态值可以使用SHOW STATUS LIKE ‘Open%tables’获得)。注意,不能盲目地把table_cache设置成很大的值。如果设置得太高,可能会造成文件描述符不足,从而造成性能不稳定或者连接失败。
对于有1G内存的机器,推荐值是128-256。
D 提高order by groud by的速度,通过设置sort_buufer变量进行控制,还可以增加read_rnd_buffer_size变量值,也可以增加read_buffer_size值,提高select的查询速度
E query_cache_size
从4.0.1开始,MySQL提供了查询缓冲机制。使用查询缓冲,MySQL将SELECT语句和查询结果存放在缓冲区中,今后对于同样的SELECT语句(区分大小写),将直接从缓冲区中读取结果。根据MySQL用户手册,使用查询缓冲最多可以达到238%的效率。
通过检查状态值Qcache_*,可以知道query_cache_size设置是否合理(上述状态值可以使用SHOW STATUS LIKE ‘Qcache%’获得)。如果Qcache_lowmem_prunes的值非常大,则表明经常出现缓冲不够的情况,如果Qcache_lowmem_prunes增长迅速,意味着很多缓存因为内存不够而被释放,而不是因为相关表被更新。尝试加大query_cache_size,尽量使Qcache_lowmem_prunes零增长。
如果Qcache_hits的值也非常大,则表明查询缓冲使用非常频繁,此时需要增加缓冲大小;如果Qcache_hits的值不大,则表明你的查询重复率很低,这种情况下使用查询缓冲反而会影响效率,那么可以考虑不用查询缓冲。此外,在SELECT语句中加入SQL_NO_CACHE可以明确表示不使用查询缓冲。
发表评论
-
mybatis generator中的字段大小写生成问题
2017-10-22 19:35 11248mybatis generator插件中,如果 mysql数据 ... -
MySQL统计一个列中不同值的数量
2017-07-11 14:04 16229https://yiqiwuliao.com/post/mys ... -
mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解决方法
2017-03-02 09:44 1726权限问题,授权 给 root 所有sql 权限 mysql ... -
几个不错的MYSQL 优化TIPS
2016-11-19 12:30 766图片来自http://imysql.com/的PDF分享 [ ... -
powerdesign 逆向ORACLE的坑
2016-09-27 17:08 524要注意的是,在WIN 64中,如果要用powerdesin 来 ... -
( 转)mysql中删除两条重复记录中的一条
2015-10-19 20:19 1295| id | createTime | labId | pub ... -
mysql中sql语句=,>的时候的索引设置
2015-05-02 12:27 1282在 https://www.percona.com/blog/ ... -
mysql中profile的使用
2015-04-30 11:11 2185mysql 的 sql 性能分析器主要用途是显示 sql 执行 ... -
mysql中的sql mode
2015-04-13 11:29 1111mysql sql mode小结 1 sql mode可以 ... -
PROCEDURE ANALYSE()为mysql提高性能提供建议
2015-04-02 16:37 1408procedure analyse();语法如下 select ... -
mongodb中意外退出的问题
2015-02-11 14:32 1310mongodb启动的时候,意外退出: Unclean shut ... -
mysql 5.5中保留字查询
2014-06-05 23:16 1453mysql 5.5中保留字查询 http://www.5is ... -
(转)oracle 临时表空间的增删改查
2014-03-18 12:44 1099oracle 临时表空间的增删改查 1、查看临时表空间 (d ... -
pl-sql developer安装
2014-02-07 09:16 1093一直都是机器本机上有oracle,所以装pl sql deve ... -
oracle中的nvl,nvl2等参数
2013-12-26 11:18 22411.nul函数将一个null值转换为一个实际的值。 数据类型可 ... -
Oracle中的ROWNUM rowid 以及MySQL中实现rownum功能类似的语句
2013-12-26 11:08 2325http://gong-10140.iteye.com/blo ... -
ORACLE XE版本的限制
2013-12-07 08:11 360910g中用户数据最大为4G, 11G中最大为11G,如果超出大 ... -
oracle中监控索引是否可用
2013-11-04 07:22 1036在oracle中,可以使用如下的方法监控索引是否可用: a ... -
mysql 5.6中的时间类型的新精度介绍
2013-10-28 09:33 8371留意到mysql 5.6中,可以使用select now(6) ... -
<<oracle索引技术》读书笔记1
2013-08-25 16:23 1288expert indexing in oracle datab ...
相关推荐
MySQL数据库优化心得:选取最适用的字段属性;使用连接(JOIN)来代替子查询(Sub-Queries);使用联合(UNION)来代替手动创建的临时表;事务;锁定表;外键等。
4.1、存储引擎的优化 3 4.2、数据库设计和查询优化 7 4.2.2 查询设计 10 4.3、服务器端优化 10 4.3.2 服务器设臵优化 10 4.4、
NULL 博文链接:https://phl.iteye.com/blog/1820182
本篇文章是对mysql数据库优化进行了详细的总结与介绍,需要的朋友参考下
数学函数 1、求余函数MOD(X,Y) MOD(X,Y)返回x被y除后的余数,MOD()对于带有小数部分的数值也起作用,他返回除法运算后的精确余数 SELECT MOD(31,8) 2、四舍五入函数TRUNCATE(X,Y) TRUNCATE(X,Y)返回被舍去至...
本文借助SSM框架以及Mysql数据库开发设计一款针对在线图书阅读的系统,用户可以通过在线图书借阅实现书籍内容的在线阅读,同时结合JSP技术的应用实现了在线阅读系统平台的动态数据响应,帮助在校学生实现更加便捷的...
数据统计:管理员可以查看系统的各项数据,如用户数量、测试成绩、咨询记录等,以便对系统的运行情况进行分析和优化。技术栈:后端:Spring Boot、MyBatis、MySQL前端:HTML、CSS、JavaScript、jQuery、Bootstrap...
本文实例总结了MySQL单表查询常见操作。分享给大家供大家参考,具体如下: 创建fruits表: CREATE TABLE fruits ( f_id char(10) NOT NULL, s_id INT NOT NULL, f_name char(255) NOT NULL, f_price decimal(8,...
知识分享:学生可以分享自己的学习心得、学习资源、学习方法等,帮助其他学生更好地理解和掌握知识。 标签和分类:平台支持问题的标签和分类,方便学生快速找到相关问题和答案。学生可以根据自己的兴趣和专业领域...
优化器做的比较差,其实某种程度上来说确实是这样,但是毕竟MySQL才到5.7版本,Oracle都已经发展到12c了,今天我就看了看MySQL的连接算法,嗯,现在来说还是不支持Hash Join,只有Nested-Loop Join,那今天就总结...
在三个月里,所学知识的确有很多,java基础,数据库操作(oracle,mysql),SSH框架(hibernate,struts,spring),网页设计jsp技术等,总之学到了很多曾经陌生的技术。受益匪浅。 实习计划 7月10日:简单地了解...
记笔记,写代码,做心得总结 这次MYSQL学习,真的让我明白了,为啥字符串/文件操作/树/链表/排序算法这些基础知识这么重要... P1&P2&P3&P4 索引是帮助MySQL高效获取数据的排好序的数据结构 索引数据结构: 二叉树 ...
阿里工程师将至今以来的经验与心得,凝聚在《九年双11:互联网技术超级工程》,首次对外免费公开。近300页、毫无保留的分享,为你展示阿里技术的崭新面貌与实力。 1. 17年双十一,达到了每秒32.5万笔的交易创建峰值...
微信小程序“基于微信小程序的购物系统Php.zip”是一个基于PHP...它不仅提供了一个便利的在线购物工具,还通过综合化的服务和智能化的管理,优化了购物流程,提升了用户的购物体验和满意度,是现代零售业的理想选择。
谈谈大型高负载网站服务器的优化心得! 8 Lighttpd+Squid+Apache搭建高效率Web服务器 9 浏览量比较大的网站应该从哪几个方面入手? 17 用负载均衡技术建设高负载站点 20 大型网站的架构设计问题 ...
在页面设计上,尽量遵循简单、实用的原则,同时尽量兼顾页面的美化和功能布局的优化,使网站的整体效果看起来简洁实用。以 HTML 作为静态页面的编程语言,以 PHP 语言编写动态页面,实现人机的交互和用户数据的处理...
同时,我们采用了MySQL数据库进行数据存储,保证了数据的安全性和稳定性。 此外,平台还注重用户体验的优化,通过精心设计的界面和流畅的操作流程,为用户带来良好的使用体验。用户可以在平台上轻松浏览和搜索自己...
用户可以在网站上留言评论、分享心得,与其他民俗爱好者进行交流和互动,形成了一个活跃的民俗文化社区。 此外,该项目还具有很好的二次开发定制性。源代码清晰规范,易于理解和扩展。开发者可以根据实际需求,对...
前端采用Bootstrap、jQuery等前端技术进行页面展示与交互,后端使用MySQL数据库进行数据存储。此外,项目还使用了Redis作为缓存技术,提高了系统性能。主要功能:a. 用户管理:支持学生、教师和工作人员注册、登录、...