随笔分类 -  SQL

摘要:解决数据库并发读取错乱的途径之一就是使用事务进行操作,并且设置相应的事务隔离级别,现在就解释一下SQL Server的四种隔离级别。SQL Server的四种隔离级别知识点整理,特别制作了流程图,方便以后查看! SET TRANSACTION ISOLATION LEVEL { READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE } 一、未提交读READ UNCOMMITTED(脏读) 意义:包含未提交数据的读。例如,在多用户环境下,用户B更改了某行。用户A在用户B提交更改之前读取已更改的行。如果此时用户B再回滚 阅读全文

posted @ 2011-02-12 09:59 チャチャの楽園 阅读(2246) 评论(1) 推荐(0) 编辑 |

摘要:上一篇《对SQL查询优化的补充--(in篇)》主要讨论select ... from ... where ... in ....这种查询语句。接着我们来讨论一下select ... from ... where ... exists ....这个了。Exists的查询速度要比in强得多,这是众所周知的事,但我们并不可以说完全用exists来代替in。为什么这么说呢?我们先来看看可以用exists来... 阅读全文

posted @ 2010-09-02 11:35 チャチャの楽園 阅读(649) 评论(0) 推荐(0) 编辑 |

摘要:之前有一篇SQL优化的十条经验,感觉还是说的不够具体,现在就个人工作时遇到的具体问题进行补充。今天先讲一下关于select...where...in...这种情况吧。有些时候我们的查询条件里面出现了很多零散不连续的值,比如一个表的ID值,这时就只能在in语句后面加上一连串的值,中间以逗号分割。如果select语句是简单的查询还没什么问题(简单的意思就是不用多表关联查询),但是如果出现多表关联查询的... 阅读全文

posted @ 2010-08-06 12:36 チャチャの楽園 阅读(2611) 评论(3) 推荐(0) 编辑 |

摘要:我们在数据库中使用表的时候,经常会遇到两种使用表的方法,分别就是使用临时表及表变量。在实际使用的时候,我们如何灵活的在存储过程中运用它们, 虽然它们实现的功能基本上是一样的,可如何在一个存储过程中有时候去使用临时表而不使用表变量,有时候去使用表变量而不使用临时表呢?   临时表   临时表与永久表相似,只是它的创建是在Tempdb中,它只有在一个数据库连接结束后或者由SQL命令DROP掉,才会消失... 阅读全文

posted @ 2010-03-31 12:28 チャチャの楽園 阅读(217) 评论(0) 推荐(0) 编辑 |

摘要:当我们不是用ADO.Net做数据交互,而是用一些E/R数据库框架(比如NHibernate、Linq To SQL、EF等)来做数据交互时,往往很难直观的看到最后在数据库中执行的SQL语句。此时我们只能进去数据库中通过执行一些SQL语句来监控数据库运行情况了。以下是SQL监控脚本(适用于SQL Server 2005)SELECT creation_time N'语句编译时间' ,last_exe... 阅读全文

posted @ 2010-03-26 14:21 チャチャの楽園 阅读(1635) 评论(0) 推荐(0) 编辑 |

摘要:1.查询的模糊匹配 尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用. 解决办法: 其实只需要对该脚本略做改进,查询速度便会提高近百倍。改进方法如下: a、修改前台程序——把查询条件的供应商名称一栏由原来的文本输入改为下拉列表,用户模糊输入供应商名称时,直接在前台就帮忙定位到... 阅读全文

posted @ 2010-03-23 16:33 チャチャの楽園 阅读(358) 评论(0) 推荐(0) 编辑 |

摘要:SQL里面的日期函数通常都会用到daypart的日期缩写值 缩写(SqlServer) (Access和ASP) 说明 Year Yy yyyy 年1753~9999 Quarter Qq q 季1~4 Month Mm m 月1~12 Dayofyear Dy y 一年的日数,一年中的第几日1-366 Day Dd d 日,1-31 Weekday Dw w 一周的日数,一周中的第几日1-7 W... 阅读全文

posted @ 2010-02-24 11:31 チャチャの楽園 阅读(302) 评论(0) 推荐(0) 编辑 |

摘要:在给文章加自定义标签时,需要在存储过程中对输入的字符串按照“,”字符分割成一个字符数组。但是Sql中没有实现字符串分组的Split方 法。因此就需要编写一个自定义的Split函数。我首先是使用表值函数的方法实现的字符串分组,但是在使用中感觉不是很方便。后来又在网上找到了一种使用 两个标量函数,其中一个函数首先返回分割后字符数组的长度,另一个函数依次返回每个分割出的字符串。然... 阅读全文

posted @ 2010-01-28 16:26 チャチャの楽園 阅读(728) 评论(0) 推荐(0) 编辑 |

摘要:问题描述:无论是在sql 2000,还是在 sql 2005 中,都没有提供字符串的聚合函数,所以,当我们在处理下列要求时,会比较麻烦:有表tb, 如下:idvalue----- ------1 aa1 bb2 aaa2 bbb2 ccc需要得到结果:id values------ -----------1aa,bb2aaa,bbb,ccc即, group by id, 求 value 的和(字符... 阅读全文

posted @ 2010-01-27 17:54 チャチャの楽園 阅读(289) 评论(0) 推荐(0) 编辑 |

Copyright © 2024 チャチャの楽園
Powered by .NET 8.0 on Kubernetes