仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 988|回复: 9
打印 上一主题 下一主题

[学习教程] MYSQL网站制作之SQL Server存储历程的编写和优化措施

[复制链接]
跳转到指定楼层
楼主
发表于 2015-1-16 22:14:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
不管怎么样,市场的结果已经证明MySQL具有性价比高、灵活、MySQL学习教程广为使用和具有良好支持的特点。  在数据库的开辟过程当中,常常会碰到庞大的营业逻辑和对数据库的操纵,这个时分就会用SP来封装数据库操纵。假如项目标SP较多,誊写又没有必定的标准,将会影响今后的体系保护坚苦和年夜SP逻辑的难以了解,别的假如数据库的数据量年夜大概项目对SP的功能请求很,就会碰到优化的成绩,不然速率有大概很慢,经由亲自履历,一个经由优化过的SP要比一本性能差的SP的效力乃至高几百倍。
具体内容:
1、开辟职员假如用到其他库的Table或View,务必在以后库中创建View来完成跨库操纵,最好不要间接利用“databse.dbo.table_name”,由于sp_depends不克不及显现出该SP所利用的跨库table或view,不便利校验。
2、开辟职员在提交SP前,必需已利用setshowplanon剖析过查询企图,做过本身的查询优化反省。

3、高程序运转效力,优化使用程序,在SP编写过程当中应当注重以下几点:

(a)SQL的利用标准:

i. 只管制止年夜事件操纵,慎用holdlock子句,进步体系并发才能。

ii. 只管制止重复会见统一张或几张表,特别是数据量较年夜的表,能够思索先依据前提提取数据光临时表中,然后再做毗连。

iii. 只管制止利用游标,由于游标的效力较差,假如游标操纵的数据凌驾1万行,那末就应当改写;假如利用了游标,就要只管制止在游标轮回中再举行表毗连的操纵。

iv. 注重where字句写法,必需思索语句按次,应当依据索引按次、局限巨细来断定前提子句的前后按次,尽量的让字段按次与索引按次相分歧,局限从年夜到小。

v. 不要在where子句中的“=”右边举行函数、算术运算或其他表达式运算,不然体系将大概没法准确利用索引。

vi. 只管利用exists取代selectcount(1)来判别是不是存在纪录,count函数只要在统计表中一切行数时利用,并且count(1)比count(*)更无效率。

vii. 只管利用“>=”,不要利用“>”。

viii. 注重一些or子句和union子句之间的交换

ix. 注重表之间毗连的数据范例,制止分歧范例数据之间的毗连。

x. 注重存储过程当中参数和数据范例的干系。

xi. 注重insert、update操纵的数据量,避免与其他使用抵触。假如数据量凌驾200个数据页面(400k),那末体系将会举行锁晋级,页级锁会晋级成表级锁。
<P>12下一页>全文浏览提醒:尝尝"←→"键,翻页更便利哦!“通过有能力的DBA的一个简单计划,MySQL可以达到令人难以想像的运行速度,”一位资深DBA如此表示。MySQL中没有多余的功能来拖累CPU或占用内存。
山那边是海 该用户已被删除
沙发
发表于 2015-1-19 05:25:32 | 只看该作者
另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);
精灵巫婆 该用户已被删除
板凳
发表于 2015-1-19 05:25:32 | 只看该作者
始终遗憾SQLServer的登陆无法分配CPU/内存占用等指标数。如果你的SQLServer给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。
海妖 该用户已被删除
地板
发表于 2015-1-27 22:42:45 来自手机 | 只看该作者
还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。
不帅 该用户已被删除
5#
发表于 2015-2-5 15:39:06 | 只看该作者
原来公司用过MYSQL自己也只是建个表写个SQL
只想知道 该用户已被删除
6#
发表于 2015-2-12 19:48:59 | 只看该作者
入门没那么困难,精通没那么容易
金色的骷髅 该用户已被删除
7#
发表于 2015-3-3 07:47:50 | 只看该作者
两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书
小女巫 该用户已被删除
8#
发表于 2015-3-11 09:59:30 | 只看该作者
相信各位对数据库和怎么样学习数据库都有一些经验和看法,也会有人走了一些弯路总结出自己的经验来,希望大家能把各自的看法和经验拿出来分享,给别人一份帮助,给自己一份快乐
若天明 该用户已被删除
9#
发表于 2015-3-18 07:44:26 | 只看该作者
而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
若相依 该用户已被删除
10#
发表于 2015-3-25 17:23:31 | 只看该作者
你觉得我的非分区索引无法对起子分区,你可以提醒我一下呀!没有任何的提醒,直接就变成了非分区表。不知道这算不算一个bug。大家也可以试试。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-3 19:02

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表