楼主: pipihappy8888

话题讨论:开源数据库MySQL知多少?

[复制链接]
论坛徽章:
3
马上加薪
日期:2014-04-04 13:35:40马上加薪
日期:2014-04-04 13:50:47马上加薪
日期:2014-04-04 13:51:04
发表于 2014-3-7 13:46 | 显示全部楼层
一、MySQL5.5 新特性:
1. 默认存储引擎更改为InnoDB,InnoDB Plugin 支持数据压缩存储,节约存储,提高内存命中率,并且支持adaptive flush checkpoint, 可以在某些场合避免数据库出现突发性能瓶颈。
2.多核性能提升,Metadata Locking (MDL) Framework替换LOCK_open mutex (lock),使得MySQL5.1及过去版本在多核心处理器上的性能瓶颈得到解决。
3.复制功能(Replication)加强。
4. 增强表分区功能

二、如何做好SQL语句的优化:
1.在应用中,通过搜索参数,尽量减少对表的访问行数,最小化结果集,从而减轻网络负担;能够分开的操作尽量分开处理,提高每次的响应速度;在数据窗口使用SQL时,尽量把使用的索引放在选择的首列;算法的结构尽量简单;在查询时,不要过多地使用通配符如SELECT * FROM T1语句。
2.避免使用不兼容的数据类型。
3.尽量避免在WHERE子句中对字段进行函数或表达式操作,这将导致引擎放弃使用索引而进行全表扫描
4.避免使用!=或<>、IS NULL或IS NOT NULL、IN ,NOT IN等这样的操作符,因为这会使系统无法使用索引,而只能直接搜索表中的数据避免使用!=或<>、IS NULL或IS NOT NULL、IN ,NOT IN等这样的操作符,因为这会使系统无法使用索引,而只能直接搜索表中的数据。

三、如何合理利用索引
1.在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引。
2.在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引。
3.在条件表达式中经常用到的不同值较多的列上建立检索,在不同值少的列上不要建立索引。比如在雇员表的“性别”列上只有“男”与“女”两个不同值,因此就无必要建立索引。
4.如果待排序的列有多个,可以在这些列上建立复合索引(compound index)。


希望能幸运中奖,联系邮箱:bill_cool2008@126.com

使用道具 举报

回复
论坛徽章:
0
发表于 2014-3-7 17:21 | 显示全部楼层
赶紧站位先!!好书

使用道具 举报

回复
论坛徽章:
6
2014年新春福章
日期:2014-02-18 16:44:08马上有对象
日期:2014-02-18 16:44:08优秀写手
日期:2015-01-13 06:00:15优秀写手
日期:2015-02-12 06:00:142015年新春福章
日期:2015-03-04 14:53:162015年新春福章
日期:2015-03-06 11:58:39
发表于 2014-3-7 23:32 | 显示全部楼层
本帖最后由 starive 于 2014-3-7 23:35 编辑

1.麻雀虽小五脏俱全,MySQL虽然以简单著称,但其内部结构并不简单。相比于之前的版本,您觉得MySQL 5.5引入了哪些重要的新特性?如何做好SQL语句的优化?如何合理利用索引?
 5.5重要的新特性:
第一 默认存储引擎更改为InnoDB
第二 多核性能提升
第三 复制功能(Replication)加强
第四 增强表分区功能

SQL优化:

方法与规则都有很多。
比如以下规则: 不要有超过5个以上的表连接(JOIN);考虑使用临时表或表变量存放中间结果;少用子查询;视图嵌套不要过深,一般视图嵌套不要超过2个为宜。


合理使用索引:

在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引。
在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引。
在条件表达式中经常用到的不同值较多的列上建立检索,在不同值少的列上不要建立索引。比如在雇员表的“性别”列上只有“男”与“女”两个不同值,因此就无必要建立索引。如果建立索引不但不会提高查询效率,反而会严重降低更新速度。如果待排序的列有多个,可以在这些列上建立复合索引(compound index)。




2.淘宝为什么要放弃Oracle,而选择MySQL呢?大家平常都用MySQL来干些什么事情?
MySQL开源,简单易用,免费;而Oracle不开源价格昂贵。而且MySQL采用插件式的存储引擎使得MySQL的使用者可以根据自身特性选择或者修改存储引擎,实现自己想要的特性。
平时用MySQL做网站开发。




3.在数据库表丢失或损坏的情况下,备份你的数据库是很重要的。如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态。MySQL常见的备份有四种,备份策略一:直接拷贝数据库文件;备份策略二:使用mysqlhotcopy备份数据库;备份策略三:使用mysqldump备份数据库;备份策略四:使用主从复制机制(replication),请从数据库规模以及应用的角度,谈谈您对这四种备份的认识。

直接拷贝数据库文件方法在服务器外部进行,并且必须采取措施保证没有客户正在修改你将拷贝的表。
Mysqlhotcopy是备份数据库或单个表的最快的途径,它只能运行在数据库目录所在的机器上。mysqlhotcopy只用于备份MyISAM。
mysqldump 与 MySQL 服务器协同操作。
主从复制机制通过将Mysql的某一台主机的数据复制到其它主机(slaves)上



4.InnoDB给MySQL提供了具有提交,回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎。InnoDB锁定在行级并且也在SELECT语句提供一个Oracle风格一致的非锁定读。这些特色增加了多用户部署和性能。而MyISAM 是MySQL中默认的存储引擎,它基于更老的ISAM代码,但有很多有用的扩展。您觉得InnoDB和MyISAM有哪些区别?在选择存储引擎上需要考虑哪些问题?

MyISAM 是非事务的存储引擎。
innodb是支持事务的存储引擎。
具体的区别可以见下面这张表:
Image.png 具体选择需要看应用程序在性能、事务、并发控制、参照完整性、缓存、 故障恢复,备份等等方面的需求进行选择。
C:\Users\yugao\Desktop\2014_02_27

5.谈谈试读《MySQL管理之道:性能调优、高可用与监控》章节后您的感想。
对MySQL5.5的性能上的变化、安全性和稳定性有了更加深入的了解。期待有空能好好拜读此书。

使用道具 举报

回复
论坛徽章:
0
发表于 2014-3-8 15:15 | 显示全部楼层
本帖最后由 chunyang_he 于 2014-3-8 15:16 编辑

书里增补内容:
MySQL5.6 更改字段属性仍旧会锁全表,注意这个坑!
http://hcymysql.blog.51cto.com/5223301/1370546

使用道具 举报

回复
论坛徽章:
8
2010新春纪念徽章
日期:2010-03-01 11:19:53ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26鲜花蛋
日期:2012-03-24 09:28:42ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:15ITPUB 11周年纪念徽章
日期:2012-10-23 16:55:312013年新春福章
日期:2013-02-25 14:51:24日产
日期:2013-10-24 08:12:112014年世界杯参赛球队: 尼日利亚
日期:2014-07-24 11:03:13
发表于 2014-3-10 17:59 | 显示全部楼层
调优参数更改很大 。相比较5.1 版本或之前版本内置缓存等方面调优比较方面更直观一些。。。

使用道具 举报

回复
认证徽章
论坛徽章:
16
2013年新春福章
日期:2013-02-25 14:51:242015年新春福章
日期:2015-03-06 11:58:39暖羊羊
日期:2015-03-04 14:53:00马上有钱
日期:2015-01-16 09:50:57马上有车
日期:2015-01-12 19:58:20马上有对象
日期:2014-12-17 16:27:32马上有房
日期:2014-11-20 12:43:102014年世界杯参赛球队: 俄罗斯
日期:2014-07-17 17:21:422014年新春福章
日期:2014-03-19 10:47:22马上有对象
日期:2014-02-18 16:44:08
发表于 2014-3-12 16:11 | 显示全部楼层
开源的魅力在于自由,就想我买台式机不愿意买品牌机一样,组装的更贴心

使用道具 举报

回复
认证徽章
论坛徽章:
27
优秀写手
日期:2013-12-18 09:29:09ITPUB季度 技术新星
日期:2012-08-15 14:50:13嫦娥
日期:2013-03-04 09:47:05数据库板块每日发贴之星
日期:2011-09-08 01:01:01数据库板块每日发贴之星
日期:2011-09-11 01:01:01数据库板块每日发贴之星
日期:2011-09-10 01:01:02数据库板块每日发贴之星
日期:2011-09-09 01:01:01ITPUB十周年纪念徽章
日期:2011-11-01 16:26:59ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:422013年新春福章
日期:2013-03-04 09:50:49
发表于 2014-3-12 16:29 | 显示全部楼层
royzs 发表于 2014-3-12 17:11
开源的魅力在于自由,就想我买台式机不愿意买品牌机一样,组装的更贴心

DIY的快乐,是IOS所无法体会得到的。

使用道具 举报

回复
认证徽章
论坛徽章:
127
茶鸡蛋
日期:2012-01-16 14:24:41鲜花蛋
日期:2012-06-06 14:48:18双黄蛋
日期:2013-01-07 21:07:482013年新春福章
日期:2013-02-25 14:51:24优秀写手
日期:2013-12-18 09:29:082014年新春福章
日期:2014-02-18 16:44:08马上有对象
日期:2014-02-18 16:44:08马上加薪
日期:2014-03-18 09:57:11马上有车
日期:2014-03-20 16:13:24马上有房
日期:2014-03-20 16:14:11
发表于 2014-3-12 16:51 | 显示全部楼层
starive 发表于 2014-3-7 23:32
1.麻雀虽小五脏俱全,MySQL虽然以简单著称,但其内部结构并不简单。相比于之前的版本,您觉得MySQL 5.5引入 ...

分析得很详细啊!

使用道具 举报

回复
论坛徽章:
6
2014年新春福章
日期:2014-02-18 16:44:08马上有对象
日期:2014-02-18 16:44:08优秀写手
日期:2015-01-13 06:00:15优秀写手
日期:2015-02-12 06:00:142015年新春福章
日期:2015-03-04 14:53:162015年新春福章
日期:2015-03-06 11:58:39
发表于 2014-3-12 20:10 | 显示全部楼层
pipihappy8888 发表于 2014-3-12 16:51
分析得很详细啊!

很喜欢这样的话题讨论。可以把很多东西梳理下。期待管理员的下次精彩话题!

使用道具 举报

回复
论坛徽章:
57
SQL极客
日期:2013-12-09 14:13:35秀才
日期:2016-01-21 13:42:39秀才
日期:2016-01-13 12:14:26SQL大赛参与纪念
日期:2016-01-13 10:32:19SQL数据库编程大师
日期:2016-01-13 10:30:43秀才
日期:2015-12-14 14:47:54秀才
日期:2015-10-19 15:50:392015年新春福章
日期:2015-03-06 11:58:18懒羊羊
日期:2015-03-04 14:52:11优秀写手
日期:2014-11-08 06:00:14
发表于 2014-3-12 20:33 | 显示全部楼层
支持。     

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表