sql in优化
客户反映程序很慢,开始以为数据量大,在表中查询使用的字段上,添加了索引,没有明显的效果,检查时发现以前的同事在sql server中写的函数中使用了in,而在in的结果集中会有2500条记录左右,执行时间需要13秒。找到问题根源,
修改方法: 把in后面的子查询作为一个表和主表关联,添加限制条件。
原来写法: select * from a where a.id in (select bid from b)
修改后写法: select a.* from a, b where a.id=b.bid
修改后执行时间为1秒。
所以,在使用in的时候,一定要考虑后面的集合到底有多大。如果很大,尽量不要使用in。
相关文档:
SQL Server 索引结构及其使用(一)
作者:freedk
一、深入浅出理解索引结构
实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索 ......
普通行列转换
问题:假设有张学生成绩表(tb)如下:
姓名 课程 分数
张三 语文 74
张三 数学 83
张三 物理 93
李四 语文 74
李四 数学 84
李四 物理 94
想变成(得到如下结果):
姓名 语文 数学 物理
---- ---- ---- ----
李四 74 84 94
张三 74 83 93
-------------------
*/
create table tb(姓名 varc ......
开放性 SQL Server
只能在Windows 上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业。而且Windows平台的可靠性,安全性和伸缩性是非常有限的。它不象Unix那样久经考验,尤其是在处理大数据量的关键业务时。
Oracle
......
If the SQL data type is 'timestamp', we need to use ResultSet.getBytes() to retrieve its value. If the SQL data type is 'datetime', we can use ResultSet.getTimestamp(). It is said timestamp is interanlly saved as binary data.
try {
Class.forName("com.microsoft. ......
1、启用远程连接
开始——所有程序——Microsoft SQL Server 2008——配置工具——SQL Server配置管理器
SQL Server NetWork Configuration中选择协议,"Named pipes"和"TCP/IP"都选择Enable,然后点击"TCP/IP"选属性,IP Address 选项卡,将所有的 TCP动态端口 的0全部去掉,在 ......