counter
counter
摘要: 转:http://www.myexception.cn/sql-server/552909.html1.解释:应该是你的表体积很大,处理的时候费事,因为几乎所有数据库操作都需要加或多或少的锁,所以会超时。首先你可以使用select * from sys.sysprocesses where blocked<>0查查有哪些进程阻塞了。然后拿SPID,运行DBCC INPUTBUFFER(SPID)来检查是什么语句造成,找到你的那个删表进程之后,kill spid,杀掉。但是注意,有些操作由于阻塞时间过长,所以就算你kill掉,也要回滚同等的时间,这个你要注意,当出现这个情况时,可能要 阅读全文
posted @ 2013-04-08 15:11 bfy 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 转:http://zhidao.baidu.com/question/303518596.html1、模糊查询效率很低: 原因:like本身效率就比较低,应该尽量避免查询条件使用like;对于like ‘%...%’(全模糊)这样的条件,是无法使用索引的,全表扫描自然效率很低;另外,由于匹配算法的关系,模糊查询的字段长度越大,模糊查询效率越低。 解决办法:首先尽量避免模糊查询,如果因为业务需要一定要使用模糊查询,则至少保证不要使用全模糊查询,对于右模糊查询,即like ‘…%’,是会使用索引的;左模糊like ‘%...’无法直接使用索引,但可以利用reverse + function ... 阅读全文
posted @ 2013-04-08 14:13 bfy 阅读(2622) 评论(0) 推荐(1) 编辑
摘要: 转:http://www.jzxue.com/shujuku/shujukuzonghe/200907/07-2332.html我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习、摘录、并汇总部分资料与大家分享!(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表drivingtable)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询,那就需要选择交叉表(intersectiontable)作为基础表, 阅读全文
posted @ 2013-04-08 14:01 bfy 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 1.转http://zhidao.baidu.com/question/328967258.html建分区表的话, 要看你有几个磁盘.如果只有一个磁盘的, 分区来分区去, 最后数据还是在 一个磁盘上面, 如果你有多个磁盘的.那么可以根据那个 自增 ID , 设置一个 计算列比如你有5个 磁盘, 那么 那个计算列 是 自增 ID % 5那么 当 计算列的数值 = 1 , 数据被存储到 磁盘1上面那么 当 计算列的数值 = 2 , 数据被存储到 磁盘2上面那么 当 计算列的数值 = 3 , 数据被存储到 磁盘3上面那么 当 计算列的数值 = 4 , 数据被存储到 磁盘4上面那么 当 计... 阅读全文
posted @ 2013-04-08 13:49 bfy 阅读(7159) 评论(0) 推荐(0) 编辑
摘要: 主要是三个函数1.DATEADD() 函数在日期中添加或减去指定的时间间隔。语法DATEADD(datepart,number,date)date参数是合法的日期表达式。number是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。datepart参数可以是下列的值:datepart缩写年yy, yyyy季度qq, q月mm, m年中的日dy, y日dd, d周wk, ww星期dw, w小时hh分钟mi, n秒ss, s毫秒ms微妙mcs纳秒ns2.DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。语法DATEPART(date 阅读全文
posted @ 2013-04-08 13:34 bfy 阅读(224) 评论(0) 推荐(0) 编辑