首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
数据库
> 详细
数据库的优化tips
时间:
2014-07-24 10:26:21
阅读:
303
评论:
0
收藏:
0
[点我收藏+]
标签:
mysql
查询
数据库
select
数据库 TIPS::
1、用于记录或者是数据分析的表创建时::使用Id作为主键,1,2,3...表示消息条数,用户账号id用于做外键,一个用户对应唯一个accountId
一个accountId可以对应多条数据;
2、创建索引:: 例如需要根据注册版本号和注册游戏ID来查询另外一些字段的时候,就可以根据版本号和游戏ID来创建索引::相当于就是根据查询条件来建索引;
3、数据库查询优化:: (1)、慎用 SELECT DISTINCT,从记录集中排除重复记录时,才使用DISTINCT;
(2)、选择最优效率的表名顺序 SQLSERVER从右到左的顺序处理FROM子句中的表名;当from子句中包含多个表的情况下,必须选择记录最少的表作为基础表,即把数据少的表放
在最后;(注:有三个以上的表连接查询,则需要选择交叉表作为基础表)
4、使用表的别名(Alias)::连接多个表是,使用别名把别名前缀于每个Column上
5、最好使用可SARG作为WHERE搜索条件:: 例如列和常量之间的比较。在WHERE子句里不可SARG的搜索条件如"IS NULL", "<>", "!=", "!>", "!<", "NOT", "NOT EXISTS", "NOT IN", "NOT LIKE"和"LIKE ‘%500‘",通常(但不总是)会阻止查询优化器使用索引执行搜索。另外在列上使用包括函数的表达式、两边都使用相同列的表达式、或和一个列(不是常量)比较的表达式,都是不可SARG的。 (注::如果你不知道特定的WHERE查询字句是不是可SARG,可以在查询分析器里检查查询执行计划)
6、WHERE字句中的连接顺序:: SQLSERVER采用自下而上的顺序解析WHERE字句,所以表之间的连接必须写在其他WHERE条件之前,可以过滤最多数据记录的条件必须写在WHERE子句的末尾。
7、避免使用困难的正规表达式::
8、 避免对大型数据表行数据的顺序存取::
9、正确使用UNION和UNION ALL:: 使用UNION时、相当于在结果集上执行SELECT DISTINT,UNION将联合两个相类似的记录表,然后搜索重复的记录并排除;;; 如果搜索的联合记录集中木有重复记录,则使用UNION ALL。
10、EXISTS和IN的使用:: 基于基础表的查询中,为了满足一个条件,往往需要对另一个表进行连接,在这种情况下,使用EXISTS(或NOT EXISTS)通常将提高查询的效率。
11、用存储过程代替直接写查询语句::减少网络流量和响应时间,提升应用程序性能;
12、存储过程名不要以sp_开头::这个特别的前缀是为系统存储过程保留的,用户定义的存储过的运行,会稍微降低一些执行效率。
13、存储古城的拥有者要相同:: 同一存储过程里调用的所有对象的拥有者都应该相同,DBO更合适。
14、让食物尽可能的短:: 保持TSQL事务尽可能的短,这会减少锁的数量。
15、tinyint(0-255、-128 - 127 1字节);smallint(0-65535、-32768 - 32767 2字节)
mediumint(0-16777215,-8388608 - 8388607 4字节);int(0-4294967295、-2147483648 - 2147483647 8字节)
数据库的优化tips
标签:
mysql
查询
数据库
select
原文地址:http://blog.csdn.net/u010912122/article/details/38079373
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
数据库进阶
2021-07-29
在 Oracle 数据库中执行 SQL 语句遇到特殊字符的转义方式
2021-07-28
Windows Logstash同步 Sqlserver 到Elasticsearch
2021-07-26
mysql数据库(11):恢复数据
2021-07-26
mysql数据库(9):常用查询的例子
2021-07-26
SQLAlchemy 多对多
2021-07-26
ClickHouse的JDBC连接
2021-07-26
Apache HBase 1.7.1 发布,分布式数据库
2021-07-26
数据库常用架构和同步工作原理
2021-07-26
MySQL数据库设计规范(仅供参考)
2021-07-26
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!