仓酷云

标题: 关于初学SQL的几个倡议 [打印本页]

作者: 分手快乐    时间: 2015-1-16 14:18
标题: 关于初学SQL的几个倡议
在Windows中MySQL以服务形式存在,在使用前应确保此服务已经启动,未启动可用netstartmysql命令启动。而Linux中启动时可用“/etc/rc.d/init.d/mysqldstart"命令,注意启动者应具有管理员权限。1.先对表和SQL有个基础了解,再入手下手写SQL代码

虽然说进修编程最好是边看边练,但因为SQL(面向汇合的申明式言语)与罕见的历程式编程言语在头脑上有分明分歧,以是进修SQL的一入手下手,最好先对表和SQL的查询有个基础了解(可参看本站怎样进修SQL,出格是第二部分),再入手下手写SQL代码。

假如没有基础了解就间接东拼西凑硬写代码:
1)很简单把表了解成一个二维数组,从而习气性地写出低效的轮回处置,还会以为为何这个“数组”这么难用,连下标会见都不克不及。(提醒:表是纪录的汇合)。
2)一样平常的历程式编程言语,只需语法能经由过程,逻辑上成绩一样平常不会太年夜;而写出语法上能经由过程的SQL语句,逻辑却大概差之毫厘谬之千里。(好比少写一个前提招致笛卡尔积)。瞽者摸象式的学SQL,很简单被SQL各类“零星”的语法特征利诱,以为SQL好难学啊,而只需从干系的角度了解表,SQL几乎就像措辞一样复杂。
3)一样平常的历程式编程言语,堕落了最多程序crash失落,停止调试、修正代码、从头运转便可;而SQL操纵的都是数据库里的耐久层数据,一个操纵不妥的毛病运转,便可能招致数据损坏、数据丧失等劫难性成果。(提醒:优秀的SQL编码习气,权限公道分派,勤做备份)。

2.关于静态SQL、触发器、游标

这几种是DBMS为了满意某些特定需求而供应的功效。利用这些功效要支付难调试、难保护、低功能的价值。

万万不要由于它们看起来庞大就以为很深邃,更不要由于以为利用这些庞大功效看起来很牛,就让它们在代码中一再呈现。这些功效应当把握,但要只管制止利用。假如数据库计划公道,这些器材基础是能够制止利用的。

武侠片中有个纪律:利用的兵器越是庞大、奥秘、骇人的脚色,其武功越是一样平常。而尽顶妙手常常一把片刀、一把扫帚乃至手无寸铁就可以威震江湖。记着IT范畴的KISS准绳,复杂的常常是最好的,恰是此理。

3.不要过早优化

Knuth有句名言:“过早优化是万恶之源”(有乐趣可参看《Unix编程艺术》1.6.15节)。在SQL中撑持这一概念的来由以下:
1)老手经常会低估DBMS的处置才能,大概高估实践成绩的范围(数据量)。
2)即便必要优化,也要遵守迷信的优化办法(复杂来讲是:创建基线、寻觅瓶颈、优化、测试)。自觉优化效果常常拔苗助长,既增添体系庞大度又下降效力。

固然,在数据库计划和编码时,一些高功能的架构计划和编码习气是必要的。但这必要对数据库查询优化手艺有深切懂得。进修SQL总要一步一步来。

4.不要吠形吠声,自觉信任一些传说风闻

SQL查询优化是个庞大成绩,硬件设置、DBMS版本、表布局界说、索引、数据量、查询语句,城市影响查询功能。判别一个语句的功能,最好是本人实验一下,察看实行企图和统计数据。而关于网上看到的结论,即便不克不及逐一实验,最少也要想一下为何,而不是自觉信任。

在CSDN论坛上看到的传播甚广的传说风闻:
1)WHERECHARINDEX(abc,ColumnName)>0比WHEREColumnNameLIKE%abc%功能好。
2)用JOIN判别A表数据在/不在B表比IN/NOTIN和EXISTS/NOTEXISTS功能好。
很猎奇这些传说风闻是怎样发生的。对于update操作,event中依次记录旧行,新行的值。
作者: 愤怒的大鸟    时间: 2015-1-18 12:47
原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜!
作者: 小魔女    时间: 2015-1-24 12:09
微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。
作者: 透明    时间: 2015-2-1 12:06
微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。
作者: 简单生活    时间: 2015-2-7 05:17
是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。
作者: 冷月葬花魂    时间: 2015-2-20 23:08
换言之,只有在不断的失败中尝试成功,而关于失败的总结却是很少的
作者: 飘飘悠悠    时间: 2015-3-6 19:28
XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
作者: 谁可相欹    时间: 2015-3-13 08:08
比如日志传送、比如集群。。。
作者: 莫相离    时间: 2015-3-13 08:08
SP4包括用于以下SQLServer2000组件的程序包:Database组件(下载文件:SQL2000-KB884525-SP4-x86.EXE)更新SQLServer2000的32位Database组件,包括数据库引擎、复制、客户端连接组件及工具。有关其他信息,请参阅ReadmeSql2k32Sp4.htm。AnalysisServices组件(下载文件:SQL2000.AS-KB884525-SP4-x86.EXE)更新SQLServer2000的32位AnalysisServices。
作者: 分手快乐    时间: 2015-3-13 08:08
外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。
作者: 活着的死人    时间: 2015-3-13 08:08
你觉得我的非分区索引无法对起子分区,你可以提醒我一下呀!没有任何的提醒,直接就变成了非分区表。不知道这算不算一个bug。大家也可以试试。
作者: admin    时间: 2015-3-20 17:21
从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。




欢迎光临 仓酷云 (http://www.ckuyun.com/) Powered by Discuz! X3.2