教你编写高性能的mysql语法

教你编写高性能的mysql语法
   在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其功能就可,而是要写出高质量的SQL语句,提高系统的可用性。

在多数情况下,Oracle使用索引来更快地遍历表,优化器主要根据定义的索引来提高性能。但是,如果在SQL语句的where子句中写的SQL代码不合理,就会造成优化器删去索引而使用全表扫描,一般就这种SQL语句就是所谓的劣质SQL语句。在编写SQL语句时我们应清楚优化器根据何种原则来删除索引,这有助于写出高性能的SQL语句。

二、SQL语句编写注意问题
下面就某些SQL语句的where子句编写中需要注意的问题作详细介绍。在这些where子句中,即使某些列存在索引,但是由于编写了劣质的SQL,系统在运行该SQL语句时也不能使用该索引,而同样使用全表扫描,这就造成了响应速度的极大降低。
..............................


Tags: MYSQL数据库  sql  sql编程  函数  
[置顶] mysql的日期和时间函数
SQL语句大全

SQL语句大全

--语 句 功 能
--数据操作
SELECT --从数据库表中检索数据行和列
INSERT --向数据库表添加新数据行
DELETE --从数据库表中删除数据行
UPDATE --更新数据库表中的数据
--数据定义
CREATE TABLE --创建一个数据库表
DROP TABLE --从数据库中删除表
ALTER TABLE --修改数据库表结构
CREATE VIEW --创建一个视图
DROP VIEW --从数据库中删除视图
CREATE INDEX --为数据库表创建一个索引
DROP INDEX --从数据库中删除索引
CREATE PROCEDURE --创建一个存储过程



DROP PROCEDURE --从数据库中删除存储过程
CREATE TRIGGER --创建一个触发器
DROP TRIGGER --从数据库中删除触发器
CREATE SCHEMA --向数据库添加一个新模式
DROP SCHEMA --从数据库中删除一个模式
CREATE DOMAIN --创建一个数据值域
ALTER DOMAIN --改变域定义
DROP DOMAIN --从数据库中删除一个域
--数据控制
............................


Tags: sql  sql编程  数据库  
Access内置函数
Access内置函数 ▲日期/时间 CDate 将字符串转化成为日期 select CDate("2005/4/5") Date 返回当前日期 DateAdd 将指定日期加上某个日期select dateAdd("d",30,Date())将当前日期加上30天,其中d可以换为yyyy或H等 DateDiff 判断两个日期之间的间隔 select DateDiff("d","2006-5-1","2006-6-1")返回31,其中d可以换为yyyy,m,H等 DatePart 返回日期的某个部分 select DatePart("d","2006-5-1")返回1,即1号,d也可以换为yyyy或m Day 返回日期的d部分,等同于datepart的d部分 Hour 返回日期的小时 IsDate 判断是否是日期,是日期返回-1,不是日期返回0 Minute 返回日期的分钟部分 Month 返回日期的月份部分 Now 返回当前时间(完整时间,包括年月日 小时分秒) Second 返回日期的秒部分 Time 返回当前的时间部分(即除去年/月/日的部分) Weekday 返回某个日期的当前星期(星期天为1,星期一为2,星期二为3...),例如select weekday(now()); Year 返回某个日期的年份 ▲检查 ▲文本 Asc 返回字母的Acsii值,select Asc("A")返回65 Chr 将ascii值转换到字符 select chr(65)返回"A" Format 格式化字符串,Select Format(now(),'yyyy-mm-dd')返回类似于"2005-04-03" ,Select Format(3/9,"0.00")返回0.33 InStr 查询子串在字符串中的位置 select Instr("abc","a")返回1,select Instr("abc","f")返回0 LCase 返回字符串的小写形式 Left 左截取字符串 Len 返回字符串长度 LTrim 左截取空格 Mid 取得子字符串 select mid("123",1,2) as midDemo 返回12 Right 右截取字符串 RTrim 右截取空格 Space 产生空格 select Space(4)返回4个空格 StrComp 比较两个字符串是否内容一致(不区分大小写)select StrComp("abc","ABC")返回0,select StrComp("abc","123")返回-1 Trim 截取字符串两头的空格 UCase 将字符串转大写
Tags: Access  内置  函数  sql  
常用SQL字符串函数
常用SQL字符串函数,字符串函数对二进制数据、字符串和表达式执行不同的运算。此类函数作用于CHAR、VARCHAR、 BINARY、 和VARBINARY 数据类型以及可以隐式转换为CHAR 或VARCHAR的数据类型。可以在SELECT 语句的SELECT 和WHERE 子句以及表达式中使用字符串函数。常用的字符串函数有:一、字符转换函数1、ASCII()2、CHAR()3、LOWER()和UPPER()4、STR()把数值型数据转换为字符型数据。STR ([,length[, ]])二、去空格函数1、LTRIM() 把字符串头部的空格去掉。2、RTRIM() 把字符串尾部的空格去掉。三、取子串函数1、left() LEFT (, )2、RIGHT() RIGHT (, )3、SUBSTRING()SUBSTRING (, , length)四、字符串比较函数1、CHARINDEX()返回字符串中某个指定的子串出现的开始位置。2、PATINDEX()返回字符串中某个指定的子串出现的开始位置。五、字符串操作函数1、QUOTENAME()返回被特定字符括起来的字符串。......六、数据类型转换函数1、CAST()CAST ( AS [ length ])2、CONVERT()CONVERT ([ length ], [, style])......七、日期函数1、day(date_expression) 返回date_expression中的日期值2、month(date_expression)返回date_expression中的月份值3、year(date_expression)返回date_expression中的年份值4、DATEADD()DATEADD (, , ).......
Tags: sql  字符串  函数  
SQL查询语句精华使用简要
一、 简单查询 (一) 选择列表   (二) FROM子句 (三) 使用WHERE子句设置查询条件  (四)查询结果排序
二、 联合查询 UNION运算符可以将两个或两个以上上SELECT语句的查询结果集合合并成一个结果集合显示,即执行联合查询。UNION的语法格式为:
三、连接查询 SQL-92标准所定义的FROM子句的连接语法格式为:   FROM join_table join_type join_table  [ON (join_condition)] 其中join_table指出参与连接操作的表名,连接可以对同一个表操作,也可以对多表操作,对同一个表操作的连接又称做自连接。join_type 指出连接类型,可分为三种:内连接、外连接和交叉连接。
Tags: sql  查询  精华  数据库  
SQL 外链接操作小结 inner join left join right join
简介: 外部连接和自联接 inner join(等值连接) 只返回两个表中联结字段相等的行 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录 on 指定表间联结字段及其关系的等号 "=" 表达式, 返回 true 或 false. 当表达式返回 true 时, 则查询中包含该记录. ! 外部连接只能操作已存在于数据库中的数据
update (ctarticle as a left join ctclass as c on a.classid = c.classid) left join cttag as b on a.articleid = b.articleid
...

Tags: join  sql  
SQL语句left join/right join/inner join 的用法比较

假设有A,B两个表。 

表A记录如下: 
aID     aNum 
1     a20050111 
2     a20050112 
3     a20050113 
4     a20050114 
5     a20050115 

表B记录如下: 
...


Tags: sql编程  sql  
SQL Server和Oracle的常用函数对比
---------数学函数1.绝对值S:select abs(-1) valueO:select abs(-1) value from dual2.取整(大)S:select ceiling(-1.001) valueO:select ceil(-1.001) value from dual3.取整(小)S:select floor(-1.001) valueO:select floor(-1.001) value from dual4.取整(截取)S:select cast(-1.002 as...
Tags: sql  Server  ORACLE  函数  
SQL网站入侵必备经典语句
SQL网站入侵必备经典语句。本帖被 gz1X 从 旧帖资料区「Past Post」 移动到本区(2007-10-15) .判断有无注入点 ; and 1=1 and 1=2 2.猜表一般的表的名称无非是admin adminuser user pass password 等.. and 0(select count(*) from *) and 0(select count(*) from admin) ---判断是否存在admin这张表 3.猜帐号数目 如果遇到00)-- and 1=(sel...
Tags: sql  经典  入侵  
ETL学习笔记之三:MS SQL DTS
   对于MS SQL-Server的DTS,在使用MS SQL-Server2000时,有最基本的接触,但仅限时简单的数据导入/导出。当开始了解ETL时,才发现DTS原来就是ETL的应用之一。    先不谈论DTS的好坏,但它至少MS产品的特点,易学,易用。所以,要了解ETL的应用,从DTS开始,在我看来,是个不错的选择。我只是学习,所以我没有能耐去评价它,下面,只能讲DTS的功能一一列举出来,可能这些与SQL-Server的联机...
Tags: ETL  sql  DTS  
发个贴子放笔记[MySQL]
本笔记使用全部大写表示>mysql环境下的命令语句。

创建一个样例数据库和这个数据库中的表,然后增加、检索、删除和修改信息与数据库进行交互。

在操作这个样例数据库的过程中,将能学到下列东西:
■ 如何利用mysql 客户机程序与MySQL 通信。
■ SQL 语言的基本语句。

连接服务器例:c:\mysql\bin\mysql -h host_name -u user_name -p

测试服务存在否:-h为主机名,测试本地服务可省略。mysqladmin一般地在bin目录下,我这里用的是一个客户端,显示如下则服务存在。....
Tags: sql  oracle数据库  sql编程  MYSQL数据库  
分页:[«] 1[2] [»]
Feed订阅集
勤劳致富^.^
Powered By Z-Blog   STYLE by busfly . FatMouse
Copyright © 2007 巴士飞扬技术博客. . 沪ICP备07027972号. 会员群1(VS为主):3769186.