如何进行mysql的优化
1,这个比较简单:在phpmyadmin中有提供
2.先设计表的时候考虑选择什么样的存储引擎,myisam不支持事务,但查询速度快,不过现在一般采用的都是InnoDB,能符合95%的项目需求。具体的你可以看看两者的区别。
3.要避免全表查询的操作,这个网上有资料。
4.在where和order by的字段上面建索引,当然索引不是多就好,会使insert和update速度变慢
5,尽量不要采用null值,因为这样搜索引擎会花费大量的时间在这里,而且存储上也有区别,建议采用not null。
6.varchar 和char的选择。可以节省不少空间。
7.字段尽可能短,起的有意义的名字,符合命名规范。
8.避免在where 条件中来使用 <> 或 !=,因为这样会造成全表扫描的。
9,进行分区分表
10.建视图来代替程序中的复杂查询。
11.设置缓存
12.like效率较低,尽量采用不同的sql查询
13. 在where后面的字段中尽量不要采用运算和使用mysql中的函数,例如LOWER()等。
14.between 和in,前者更好
15,写sql语句的时候,思考是否要返回那么多的数据,limit可以进行限制
16,删除表使用truncate不要用delete,因为delete会一行一行的删除。
17.如果一些sql语句都是相同的只是变量不相同,可以进行sql语句合并,采用预处理,可以节省编译的时间。
18.数据库连接池的使用
19,采用集群
20,不用的资源马上释放
21.拆分大的 DELETE 或INSERT 语句,批量提交SQL语句
22.usleep避免服务器宕机
23,select在从服务器上面进行,修改数据的操作在主服务器上
如果还有其他的,后面待补充。
相关推荐
-
mysql优化配置参数
第一种 复制代码 代码如下: #This File was made using the WinMySQLAdmin 1.4 Tool #2004-2-23 16:28:14 #Uncomment or Add only the keys that you know how works. #Read the MySQL Manual for instructions [mysqld] basedir=D:/mysql #bind-address=210.5.*.* datadir=D:/mysq
-
MySQL优化之如何了解SQL的执行频率
show [session|global] status 可以根据需要加上参数" session "或者" global "来显示 session 级(当前连接)的统计结果和 global 级(自数据库上次启动至今)的统计结果.如果不写,默认使用参数是" session ". Com_xxx 表示每个 xxx 语句执行的次数,我们通常比较关心的是以下几个统计参数 : •Com_select :执行 select 操作的次数,一次查询只累加 1 .
-
非常不错的MySQL优化的8条经验
1.选取最适用的字段属性 MySQL 可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小.例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用 VARCHAR这种类型也是多余的,因为CHAR(6) 就可以很好的完成任务了.同样的,如果可以的话,我们应该使用MEDIUMINT而不是BIGINT来定义整型字段. 另外一个提高
-
MySQL优化配置文件my.ini(discuz论坛)
在Apache, PHP, MySQL的体系架构中,MySQL对于性能的影响最大,也是关键的核心部分.对于Discuz!论坛程序也是如此,MySQL的设置是否合理优化,直接影响到论坛的速度和承载量!同时,MySQL也是优化难度最大的一个部分,不但需要理解一些MySQL专业知识,同时还需要长时间的观察统计并且根据经验进行判断,然后设置合理的参数. 下面我们了解一下MySQL优化的一些基础,MySQL的优化我分为两个部分,一是服务器物理硬件的优化,二是MySQL自身(my.cnf)的优化. 一.服务
-
21条MySQL优化建议(经验总结)
今天一个朋友向我咨询怎么去优化 MySQL,我按着思维整理了一下,大概粗的可以分为21个方向. 还有一些细节东西(table cache, 表设计,索引设计,程序端缓存之类的)先不列了,对一个系统,初期能把下面做完也是一个不错的系统. 1. 要确保有足够的内存 数据库能够高效的运行,最关建的因素需要内存足更大了,能缓存住数据,更新也可以在内存先完成.但不同的业务对内存需要强度不一样,一推荐内存要占到数据的15-25%的比例,特别的热的数据,内存基本要达到数据库的80%大小. 2. 需要更多更快的
-
有关mysql优化的一些东东整理
1.查询帮助 ? contents2.使用合成的散列值,分离BLOB或者TEXT3.货币使用定点数(decimal或者numberic)4.sql_mode?5.order by rand() limit 1000;6.优化show status like 'Com' Com_select Com_insert等查看插入多还是查询多7.Handler_read_key 的值将很高,这个值代表了一个行被索引值读的次数,很低的值表明增加索引得到的性能改善不高,因为索引并不经常使用.Handler_r
-
101个MySQL优化技巧和提示
MySQL是一个功能强大的开源数据库.随着越来越多的数据库驱动的应用程序,人们一直在推动MySQL发展到它的极限.这里是101条调节和优化MySQL安装的技巧.一些技巧是针对特定的安装环境的,但这些思路是通用的.我已经把他们分成几类,来帮助你掌握更多MySQL的调节和优化技巧. MySQL 服务器硬件和操作系统调节: 1. 拥有足够的物理内存来把整个InnoDB文件加载到内存中--在内存中访问文件时的速度要比在硬盘中访问时快的多. 2. 不惜一切代价避免使用Swap交换分区 – 交换时是从硬盘读
-
MySQL优化之表结构优化的5大建议(数据类型选择讲的很好)
殊不知,在N年前被奉为"圣经"的数据库设计3范式早就已经不完全适用了.这里我整理了一些比较常见的数据库表结构设计方面的优化技巧,希望对大家有用. 由于MySQL数据库是基于行(Row)存储的数据库,而数据库操作 IO 的时候是以 page(block)的方式,也就是说,如果我们每条记录所占用的空间量减小,就会使每个page中可存放的数据行数增大,那么每次 IO 可访问的行数也就增多了.反过来说,处理相同行数的数据,需要访问的 page 就会减少,也就是 IO 操作次数降低,直接提升性能
-
MySQL优化全攻略-相关数据库命令
接下来我们要讨论的是数据库性能优化的另一方面,即运用数据库服务器内建的工具辅助性能分析和优化. ▲ SHOW 执行下面这个命令可以了解服务器的运行状态: mysql >show status; 该命令将显示出一长列状态变量及其对应的值,其中包括:被中止访问的用户数量,被中止的连接数量,尝试连接的次数,并发连接数量最大值,以及其他许多有用的信息.这些信息对于确定系统问题和效率低下的原因是十分有用的. SHOW命令除了能够显示出MySQL服务器整体状态信息之外,它还能够显示
-
MySQL优化必须调整的10项配置
当我们被人雇来监测MySQL性能时,人们希望我们能够检视一下MySQL配置然后给出一些提高建议.许多人在事后都非常惊讶,因为我们建议他们仅仅改动几个设置,即使是这里有好几百个配置项.这篇文章的目的在于给你一份非常重要的配置项清单. 我们曾在几年前在博客里给出了这样的建议,但是MySQL的世界变化实在太快了!写在开始前-即使是经验老道的人也会犯错,会引起很多麻烦.所以在盲目的运用这些推荐之前,请记住下面的内容: 一次只改变一个设置!这是测试改变是否有益的唯一方法. 大多数配置能在运行时使用SET
随机推荐
- Erlang中的socket编程简单例子
- 简单实现nodejs上传功能
- EDI中JAVA通过FTP工具实现文件上传下载实例
- 理解和运用PHP中的多态性[译]
- PHP实现补齐关闭的HTML标签
- 深入解析WordPress中加载模板的get_template_part函数
- Android开发中听筒无法播放音乐的解决方法
- jQuery弹出下拉列表插件(实现kindeditor的@功能)
- MySQL笔记之连接查询详解
- jQuery fadeTo方法调整图片的透明度使用介绍
- C#实现系统托盘通知的方法
- 图片动画横条广告带上下滚动可自定义图片、链接等等
- IIS 7.5 配置伪静态
- Android中应用前后台切换监听的实现详解
- 思科路由器防御DDOS
- Android自定义APP全局悬浮按钮
- vue实现商品加减计算总价的实例代码
- 非常好的12道shell命令经典面试问题
- tp5递归 无限级分类详解
- 使用Ruby脚本部署Redis Cluster集群步骤讲解