免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 红豆抹茶
打印 上一主题 下一主题

【ChinaUnix社区十一周年站庆图书专题】MySQL之SQL编程(获奖名单已公布2013-1-7) [复制链接]

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
31 [报告]
发表于 2012-12-02 22:42 |只看该作者
这本书据说不错
没有这本书,还没看过

论坛徽章:
0
32 [报告]
发表于 2012-12-03 10:36 |只看该作者
非常酷哦,不顶对不起良心

论坛徽章:
2
狮子座
日期:2013-12-24 13:36:29子鼠
日期:2014-05-06 16:42:00
33 [报告]
发表于 2012-12-03 23:33 |只看该作者
MYSQL 的表的设计很重要,深有体会呀。工作中由于电站的信息很多,都相互依赖着,那天软件做了初始化还原的操作,在创建表里索引没有加进去,
把数据给处理完了,查询时,8条left join 直接干掉了服务器

论坛徽章:
0
34 [报告]
发表于 2012-12-04 10:19 |只看该作者
Mysql,只是一些简单应用啊,数据量没过千万,表结构简单,用不上什么优化,
像oracle, sqlserver, postgresql,只是应用写标准sql。

数据库也面向对象了,比如cache ,面向程序员的数据库。

论坛徽章:
40
水瓶座
日期:2013-08-15 11:26:422015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯之乌兹别克斯坦
日期:2015-03-27 14:01:172015年亚洲杯之约旦
日期:2015-03-31 15:06:442015亚冠之首尔
日期:2015-06-16 23:24:37IT运维版块每日发帖之星
日期:2015-07-01 22:20:002015亚冠之德黑兰石油
日期:2015-07-08 09:32:07IT运维版块每日发帖之星
日期:2015-08-29 06:20:00IT运维版块每日发帖之星
日期:2015-08-29 06:20:00IT运维版块每日发帖之星
日期:2015-10-10 06:20:00IT运维版块每日发帖之星
日期:2015-10-11 06:20:00IT运维版块每日发帖之星
日期:2015-11-10 06:20:00
35 [报告]
发表于 2012-12-04 15:13 |只看该作者
的确不错 关键是同一个结果的实现方式太多了 效率本身来源于合理的Schema

论坛徽章:
0
36 [报告]
发表于 2012-12-04 23:17 |只看该作者
本帖最后由 kinfinger 于 2012-12-04 23:19 编辑

回复 1# 红豆抹茶
1、简述SQL语言的优点,您认为它对于MySQL数据库的应用OLAP方面起到了什么作用? 
就目前的应用来看,OLTP的应用远远多于OLAP,OLAP目前基本没有涉及到
2、您在日常工作中经常使用哪种图形化的查询分析器,你觉得比其他的图形化工具有什么优势?
没有图形化的查询分析器,都是命令行形式来直接查看PLAN_TABLE,之所以没有图形化的原因是环境的原因吧
3、如何编写出简单高效并易于维护的高质量SQL代码,分享一下您的经验
简单高效且易于维护的高质量ql代码,貌似鱼和熊掌不能得兼吧,个人从系统调优的角度来看谈一谈,即从索引的角度谈谈sql代码编写
每次版本投产后第一件事就是调整程序的访问路径,感觉考虑的比较多的无非就是那几个因素,一个重中之重就是索引
sql代码的质量与索引可以说是息息相关,高效的sql的代码肯定具有好的访问路径,当然索引的设计也应当是合理的。
开发人员在编写代码的时候对索引的重视其实远远不够,或者是存在误区
应当认识到,关系模式的设计是基于你的数据,但是索引的设计确实要依据你将来的Query,
需不需要一个索引可以根据上面 的这一条来衡量,同时在创建索引的时候也要为你的sql考虑,即
建立索引涉及要遵循 :
在索引中要尽可能多包含query中group by的字段
在索引中要尽可能多的包含query中需要要order的字段
在索引中要尽可能多的包含query中的select字段
这样在你的sql代码利用好索引可以编写简单高效,易于维护的代码,上述三个原则可以按照重要性进行选择,看你是group by ,order by select ,但是但是索引并不是越多越好,索引的维护也是有代价的
索引需要占用磁盘空间与内容空间
表的修改(插入,修改,删除)都需要修改索引,严重的情况下回发生index split
优化器在给sql代码选择访问路径的时候,需要考虑索引
开发人员在开发时候综合考虑上述两个因素,对sql代码的效率应该是有帮助的,

   

论坛徽章:
0
37 [报告]
发表于 2012-12-05 11:59 |只看该作者
1、简述SQL语言的优点,您认为它对于MySQL数据库的应用OLAP方面起到了什么作用?
sql语句的优点,个人认为相对比较简洁,易懂,学习较容易。
OLAP没有用过,这个没有发言权

2、您在日常工作中经常使用哪种图形化的查询分析器,你觉得比其他的图形化工具有什么优势?
查询分析,我都是使用命令行模式的explain去分析慢查询语句,图形工具没有用过

3、如何编写出简单高效并易于维护的高质量SQL代码,分享一下您的经验
没有SQL编程经验,不发言

论坛徽章:
0
38 [报告]
发表于 2012-12-06 11:30 |只看该作者
个人感觉在拼命思考如何优化sql的时候,可以考虑从数据库设计入手,打好根基才能盖好房子,有时候sql需要用很复杂的语句才能完成的功能,其实只要在数据库表上少量改动增加些冗余就可以了,这个涉及到全盘的考虑,空间换复杂度还是复杂度换空间,合适就好.上层楼看得更远,有时不要扎太深,哈哈哈

论坛徽章:
0
39 [报告]
发表于 2012-12-07 10:22 |只看该作者
分区查询如果表的数据量太大咋办啊

论坛徽章:
0
40 [报告]
发表于 2012-12-07 12:32 |只看该作者
孙轩 发表于 2012-12-06 11:30
个人感觉在拼命思考如何优化sql的时候,可以考虑从数据库设计入手,打好根基才能盖好房子,有时候sql需要用很复 ...

赞同,所有计算机应用,甚至地球人日常生活方面都离不开这个问题,时间换取空间,以及空间换取时间。

貌似说了句废话
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP