如沐博客-互联网观察者

致力于互联网产业的发展

[置顶] 十年技术 不要再迷茫

[置顶] 程序员应聘面试经验谈

[置顶] 最近手头紧,出几个域名,基本上都是老米

sql 分别按日,按周,按月,按季统计

--按日
select sum(consume),day([date]) from consume_record where year([date]) = '2006' group by day([date])

--按周quarter
select sum(consume),datename(week,[date]) from consume_record where year([date]) = '2006' group by datename(week,[date])

...

SQL Server数据库优化方案(三)

41、尽量将数据的处理工作放在服务器上,减少网络的开销,如使用存储过程。存储过程是编译好、优化过、并且被组织到一个执行规划里、且存储在数据库中的SQL语句,是控制流语言的集合,速度当然快。反复执行的动态SQL,可以使用临时存储过程,该过程(临时表)被放在Tempdb中。以前由于SQL SERVER对复杂的数学计算不支持,所以不得不将这个工作放在其他的层上而增加网络的开销。SQL2000支持UDFs,现在支持复杂的数学计算,函数的返回值不要太大,这样的开销很大。用户自定义函数象光标一样执行的消耗大量的资源,如果返回大的结果采用存储过程

...

SQL Server数据库优化方案(二)

  21、用select top 100 / 10 Percent 来限制用户返回的行数或者SET ROWCOUNT来限制操作的行

  22、在SQL2000以前,一般不要用如下的字句: "IS NULL", "<>", "!=", "!>", "!<", "NOT", "NOT EXISTS", "NOT IN", "NOT LIKE", and "LIKE '%500'",因为他们不走索引全是表扫描。也不要在Where字句中的列名加函数,如Convert,substring等,如果必须用函数的时候,创建计算列再创建索引来替代.还可以变通写法:Where SUBSTRING(firstname,1,1) = 'm'改为Where firstname like 'm%'(索引扫描),一定要将函数和列名分开。并且索引不能建得太多和太大。NOT IN会多次扫描表,使用EXISTS、NOT EXISTS ,IN , LEFT OUTER JOIN 来替代,特别是左连接,而Exists比IN更快,最慢的是NOT操作.如果列的值含有空,以前它的索引不起作用,现在2000的优化器能够处理了。相同的是IS NULL,"NOT", "NOT EXISTS", "NOT IN"能优化她,而"<>"等还是不能优化,用不到索引。

...

SQL Server数据库优化方案(一)

查询速度慢的原因很多,常见如下几种:

  1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)

  2、I/O吞吐量小,形成了瓶颈效应。

  3、没有创建计算列导致查询不优化。

  4、内存不足

  5、网络速度慢

  6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)

  7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)

...

优化数据库的方法及SQL语句优化的原则

优化数据库的方法:

  1、关键字段建立索引。

  2、使用存储过程,它使SQL变得更加灵活和高效。

  3、备份数据库和清除垃圾数据。

  4、SQL语句语法的优化。(可以用Sybase的SQL Expert,可惜我没找到unexpired的序列号)

  5、清理删除日志。

  SQL语句优化的原则:

...

程序员必须知道的SQLSERVER数据库优化技巧

摘要:数据库优化不仅是数据库管理员的任务,程序员也必须知道一些优化技巧,有利于开发高效的数据库系统。
关键字:数据库 优化 技巧

如果是团队开发,作为程序员必须知道本文描述的数据库优化技巧,如果你的sa水平比较差,那即使你再努力也些不出高效的数据库应用系统。
如果是单独开发,那就更不必说了。

多数公司的数据库管理员(sa)是不够格的,即使拿了各种认证证件,也差不多还是垃圾管理员,无非是可以混个好职位,多拿一些工资。
...

锁的概述

一. 为什么要引入锁

多个用户同时对数据库的并发操作时会带来以下数据不一致的问题:

丢失更新
A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统

脏读
A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致

不可重复读
...

[转]SQL2000常用命令

1. 查看数据库的版本    
   select @@version
   常见的几种SQL SERVER打补丁后的版本号:
   8.00.194   Microsoft SQL Server 2000
   8.00.384   Microsoft SQL Server 2000 SP1
...

[转]SQLSERVER 的一些常用知识总结

平时工作一会搞Oracle一会搞SqlServer,脑子都迷糊了,为了避免继续模糊,今天抽出点时间把我常用的sqlserver的一些东西整理了下,发出来,以后忘了就来找,过几天再整理个Oracle常用知识。没啥技术含量主要是备忘。

1.SQLserver忘记密码修改方法

从"查询分析器"中以"Windows身份验证"连接SQL Server 执行如下过程

EXEC sp_password NULL, '你的新密码', '用户名例如sa'

...

多表查询存储过程,任意排序

Create PROCEDURE usp_PagingLarge
@TableNames VARCHAR(200),    --表名,可以是多个表,但不能用别名
@PrimaryKey VARCHAR(100),    --主键,可以为空,但@Order为空时该值不能为空
@Fields    VARCHAR(200),        --要取出的字段,可以是多个表的字段,可以为空,为空表示select *
...

分页:[«][1][2][3][4][5][6][7][8]9[10][»]

Copyright 2010-2021 25230.NET All Rights Reserved.