转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> MySql >> 正文
mysql数据库优化(2)         ★★★★

mysql数据库优化(2)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:584 更新时间:2009/4/22 20:10:20
第三:

1:如果你在一个数据库中创建大量的表,那么执行打开,关闭,创建(表)的操作就会很慢.

2:mysql使用内存

a: 关键字缓存区(key_buffer_size)由所有线程共享

b: 每个连接使用一些特定的线程空间.一个栈(默认为64k,变量thread_stack),一个连接缓冲区(变量net_buffer_length)和一个结果缓冲区(net_buffer_length).特定情况下,连接缓冲区和结果缓冲区被动态扩大到max_allowed_packet.

c:所有线程共享一个基存储器

d:没有内存影射

e:每个做顺序扫描的请求分配一个读缓冲区(record_buffer)

f:所有联结均有一遍完成并且大多数联结甚至可以不用一个临时表完成.最临时的表是基于内存的(heap)表

g:排序请求分配一个排序缓冲区和2个临时表

h:所有语法分析和计算都在一个本地存储器完成

i:每个索引文件只被打开一次,并且数据文件为每个并发运行的线程打开一次

j:对每个blob列的表,一个缓冲区动态的被扩大以便读入blob值

k:所有正在使用的表的表处理器被保存在一个缓冲器中并且作为一个fifo管理.

l:一个mysqladmin flush-tables命令关闭所有不在使用的表并且在当前执行的线程结束时标记所有在使用的表准备关闭

3:mysql锁定表

mysql中所有锁定不会成为死锁.

wirte锁定:

mysql的锁定原理:a:如果表没有锁定,那么锁定;b否则,把锁定请求放入写锁定队列中

read锁定:

mysql的锁定原理:a:如果表没有锁定,那么锁定;b否则,把锁定请求放入读锁定队列中



有时候会在一个表中进行很多的select,insert操作,可以在一个临时表中插入行并且偶尔用临时表的记录更新真正的表

a:用low_priority属性给一个特定的insert,update或者delete较低的优先级

b:max_write_lock_count指定一个值(通常很小)来启动mysqld,使得在一定数量的write锁定之后出现read锁定

c:通过使用set sql_low_priority_updates=1可以从一个特定的线程指定所有的更改应该由较低的优先级完成

d:用high_priority指定一个select

e:如果使用insert....select....出现问题,使用myisam表------因为它支持因为它支持并发的select和insert

4:最基本的优化是使数据在硬盘上占据的空间最小.如果索引做在最小的列上,那么索引也最小.实现方法:

a:使用尽可能小的数据类型

b:如果可能,声明表列为NOT NULL.

c:如果有可能使用变成的数据类型,如varchar(但是速度会受一定的影响)

d:每个表应该有尽可能短的主索引

e:创建确实需要的索引

f:如果一个索引在头几个字符上有唯一的前缀,那么仅仅索引这个前缀----mysql支持在一个字符列的一部分上的索引

g:如果一个表经常被扫描,那么试图拆分它为更多的表


[其他]关于数据库优化查询计划的方法总结  [建站心得]我从建站、优化、网赚一路走来的足迹
[搜索优化]SEO优化的一些资料  [网络安全]防火墙性能优化指南—思路决定安全
[Web开发]网站优化及效益篇—如何使用简单的代码实现功能强…  [网页制作]网站优化之14条专家经验
[网页制作]如何提高网页的显示速度—站长优化技巧  [网页制作]网页优化相关基础知识与建议下篇
[网页制作]网页优化相关基础知识与建议中篇  [网页制作]网页优化相关基础知识与建议上篇
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台