分类

链接

2024 年 11 月
 123
45678910
11121314151617
18192021222324
252627282930  

近期文章

热门标签

新人福利,免费薅羊毛

SQL树型求和

SQLServer树型求和 set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go -- this document design by zzl -- -- function : total about a tree structure -- author : Lori.zhang ,zzl -- display view : a1   3 --                a11  2 --                a111 1 ------------------------------------------ ALTER  proc [dbo].[zzl_task_tree_total] --通过指定的taskid,来获取它和它下面的所有子元素的汇总和 @taskid int as declare @level_tt table(taskid nvarchar(1000),parentID nvarchar(1000),level in...

MySQL, Oracle, SQL Server 暂无评论 阅读(2,659)

SQL防止数据脏读脏写

SQL防止数据脏读脏写 最近开发了一个公安机关的分布式系统,在系统中要求若干个人同时可以对数据库进行读写操作。这时出现了一些联想问题: 1 当多于1人的用户对同一条记录进行写操作时,先写入的用户的数据必定会被后写入的用户的数据override掉,这个问题如何解决? 2 希望看比某一条记录更新的(在这条记录修改后,才进行修改和添加的)所有记录,如何实现(ID不连续,记录时常有更新)? 3 希望看到本行记录的最新版本,如果有新版本就读到数据集,如果没有就不读到数据集?(行版本戳) -------------------...

MySQL, Oracle, SQL Server 评论(1) 阅读(8,848)

SQL日志统计

select distinct diary.userid , a.name, sum(case when diary>=1 then 1 else 0 end) as '写日志' from diary  inner join a on a.id=diary.userid group by diary.userid,a.id,a.name 说明:当你的diary大于1时,也设为1,如果没有写,那么为0 ,这样用sum进行汇总也就求出了结果。 ID 姓名    日志数 1 zzl        2 2 zql        2 3 zzd        1 4 gy         4  

MySQL, Oracle, SQL Server 暂无评论 阅读(2,189)

SQL语句优化技巧(5)

  项目完成了,现在进入了维护阶段,一切都很平静。。。   突然有一天,老板来了个需求,要求用户有一个新的功能,即会员可以为好友推荐,进行本网站,当推荐的人真的来本网站注册后,并进行了邮件确认后,同时要给那个会员一些好处,比如,送它积分。   这个需要无疑要牵动用户表,这可如何是好,是在原表基础上改,还是。。。   首先如如果在原表上改,牵动太大,所以就想到了面向对象的“开闭原则”,在不改变原表的同时,添加一个附加表,即和原表有相同的主键,并且是一对一的关系(有时,...

MySQL, Oracle, SQL Server 暂无评论 阅读(2,113)

SQL语句优化技巧(4)

数据库实训:适当数据库冗余 在上一篇文章中,告诉了大家数据库的三大范式,最基础的莫过于数据表中不能有冗余了,但今天主要说的已经“冗余”,而且,有时候冗余并非都是坏事! 如,以下是一个大家伙,用户表user_info,它里面有用户的地址ID,如cityid,可能还有用户扩展表的信息,用户积分表的信息等等,这些信息至少需要三个表关联才能得到我们所需要的信息,而实际情况往往比这个还要复杂的多。 这时,一种数据冗余的思想产生了,它相当于是用空间来换时间,即数据库在磁盘上占用的空间多了,但查询的性能提高了...

MySQL, Oracle, SQL Server 暂无评论 阅读(2,305)

SQL语句优化技巧(3)

我们做软件开发的,大部分人都离不开跟数据库打交道,特别是 ERP开发的,跟数据库打交道更是频繁,存储过程动不动就是上千行。如果数据量大,人员流动大,那么我们还能保证下一段时间系统还能顺畅的运行吗?我们还 能保证下一个人能看懂我们的存储过程吗?那么我结合公司平时的培训和平时个人工作经验和大家分享一下,希望对大家有帮助。 要知道SQL语句,我们有必要知道SQL Server查询分析器怎么执行我们的SQL语句的。我们很多人会看执行计划,或者用Profiler来监视和调优查询语句或者存储过程慢的原因,但是如 果...

MySQL, SQL Server 暂无评论 阅读(2,085)

SQL语句优化技巧(2)

1、应用程序中,保证在实现功能的基础上,尽量减少对数据库的访问次数;通过 搜索参数,尽量减少对表的访问行数,最小化结果集,从而减轻网络负担;能够分 开的操作尽量分开处理,提高每次的响应速度;在数据窗口使用SQL时,尽量把使 用的索引放在选择的首列;算法的结构尽量简单;在查询时,不要过多地使用通配 符如SELECT * FROM T1语句,要用到几列就选择几列如:SELECT COL1,COL2 FROM T1;在可能的情况下尽量限制尽量结果集行数如:SELECT TOP 300 COL1,COL2,COL3 FROM T1,因为某些情况下用户是不需要那么多的...

MySQL, Oracle, SQL Server 暂无评论 阅读(15,117)

C#.net连接MySQL数据库方法

C#.net连接MySQL数据库方法 1、用MySQLDriverCS连接MySQL数据库先下载和安装MySQLDriverCS,地址: http://sourceforge.net/projects/mysqldrivercs 在安装文件夹下面找到MySQLDriver.dll,然后将MySQLDriver.dll添加引用到项目中 注:我下载的是版本是 MySQLDriverCS-n-EasyQueryTools-4.0.1-DotNet2.0.exe using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.Odbc; using System.Drawing; using System.Linq; using System.Text; using Syst...

.NET, MySQL 暂无评论 阅读(3,291)

解决mysql乱码的几种方法

 解决mysql乱码的几种方法 character-set-table:数据库表字符集。 优先级依次增加。所以一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集。 character-set-client:客户端的字符集。客户端默认字符集。当客户端向服务器发送请求时,请求以该字符集进行编码。 character-set-server/default-character-set:服务器字符集,默认情况下所采用的。 character-set-database:数据库字符集。 character-set-results:结果字符集。服务器向...

MySQL 暂无评论 阅读(2,605)

使用存储过程的优点

1.由于应用程序随着时间推移会不断更改,增删功能,T-SQL过程代码会变得更复杂,StoredProcedure为封装此代码提供了一个替换位置。 2.执行计划(存储过程在首次运行时将被编译,这将产生一个执行计划-- 实际上是 Microsoft SQL Server为在存储过程中获取由 T-SQL 指定的结果而必须采取的步骤的记录。)缓存改善性能。 但sql server新版本,执行计划已针对所有 T-SQL 批处理进行了缓存,而不管它们是否在存储过程中,所以没比较优势了。 3.存储过程可以用于降低网络流量,存储过程代码直接存储于数据库中,所以...

MySQL, SQL Server 暂无评论 阅读(2,188)