注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

xiaozhuge0825的博客

 
 
 

日志

 
 

数据库优化总结  

2009-07-24 16:12:27|  分类: mysql |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

0.从服务器方面入手,硬件要好,比如内存要大,CPU运行要快.这也可以让服务器的承载能力上升.

1,可以多台服务器来分担压力.比如读写分离,一台服务器负责写,这是主服务器,一台服务器负责读数据.这是从服务器.

1.数据库表的设计要合理,为了速度可以接受一定的冗余,减少连表查询.

2.表的类型:inodb:是一种写快读慢的表类型,同时也是一种行级锁表的类型,myiSAM是一种读快写慢的表类型,同时也是一种表级锁表的类型..内存表类型:是一种读非常快,但数据容易丢失的表类型.可以根据实际情况选择每一张表的类型.(锁表越频繁,数据库压力更大);

3.从表字段类型上分,表可以分为定长表和不定长表:定长表的查询速度快,但占用的空间大.不定长表正好相反.有时候设计表结构的时候可以根据实际情况把一张表分为两张表,一张是定长表用来放常用的数据.一张不定长放不常用的.

4.表里面的字段类型的选择要合理.多用定长类型,还有整型的查询速度比字符型快.一般表示开关的都用tiny类型,也可以用enum类型.还有tiny(1),这里的1不是表示长度为一,而是表示补1个零.

5.本着够用为原则,字段长度的设置要合理,不要造成空间的浪费.

6.一定要设置索引.但索引不是越多越好,设置也要合理.

7.写高效的SQL语句,看看有没有写低效的SQL语句,比如生成笛卡尔积的全连接啊,大量的Group By和order by,没有limit等等.必要的时候,把数据库逻辑封装到DBMS端的存储过程里面.缓存查询结果,explain每一个sql语句
8.从数据库读取出来的数据必须是必要的,不然会占用更多内存.

9.少用连表查询.

10.where的条件需要算的时候,少用函数,尽量把运算放到运算符的右边.

  评论这张
 
阅读(81)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018