数据库   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的更多相关文章

  1. MYSQL数据库的优化

    我们究竟应该如何对MySQL数据库进行优化?下面我就从MySQL对硬件的选择.MySQL的安装.my.cnf的优化.MySQL如何进行架构设计及数据切分等方面来说明这个问题. 服务器物理硬件的优化 在 ...

  2. 转载:SqlServer数据库性能优化详解

    本文转载自:http://blog.csdn.net/andylaudotnet/article/details/1763573 性能调节的目的是通过将网络流通.磁盘 I/O 和 CPU 时间减到最小 ...

  3. SQL Server数据库性能优化之SQL语句篇【转】

    SQL Server数据库性能优化之SQL语句篇http://www.blogjava.net/allen-zhe/archive/2010/07/23/326927.html 近期项目需要, 做了一 ...

  4. MySQL数据库的优化(下)MySQL数据库的高可用架构方案

    MySQL数据库的优化(下)MySQL数据库的高可用架构方案 2011-03-09 08:53 抚琴煮酒 51CTO 字号:T | T 在上一篇MySQL数据库的优化中,我们跟随笔者学习了单机MySQ ...

  5. MySQL数据库的优化(上)单机MySQL数据库的优化

    MySQL数据库的优化(上)单机MySQL数据库的优化 2011-03-08 08:49 抚琴煮酒 51CTO 字号:T | T 公司网站访问量越来越大,导致MySQL的压力越来越大,让我们自然想到的 ...

  6. 降龙十八掌之一:(亢龙有悔)SQL Server Profiler和数据库引擎优化顾问

    简介 说到Sql的[性能工具]真是强大,SQL Server Profiler的中文意思是SQL Server事件探查,这个到底是做什么用的呢?我们都知道探查的意思大多是和监视有关,其实这个SQL S ...

  7. [转]MySQL数据库的优化-运维架构师必会高薪技能,笔者近六年来一线城市工作实战经验

    本文转自:http://liangweilinux.blog.51cto.com/8340258/1728131 年,嘿,废话不多说,下面开启MySQL优化之旅! 我们究竟应该如何对MySQL数据库进 ...

  8. mysql数据库性能优化(包括SQL,表结构,索引,缓存)

    优化目标减少 IO 次数IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需要第一优先考虑,当 ...

  9. 数据库性能优化:SQL索引

    SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭开他的神秘面纱. 1.1 什么是索引? SQL索引有两种,聚集索引和非聚集索引 ...

随机推荐

  1. Android学习总结——欢迎页和导航页的实现

    activity_welcome.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayo ...

  2. 多线程程序 怎样查看每个线程的cpu占用

    可以用下面的命令将 cpu 占用率高的线程找出来: ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu 这个命令首先指定参数'H',显示线程相关的 ...

  3. 前端JS模版库kino.razor - 原理流程分析 - 改进版轮子RazorJs

    1.前言 从后台获取数据,在前端JS里面拼接字符串,不累吗?敢不敢找一款前端使使... 现在这种模板库比较多了,我用过的jquery-template .JsRender .听说过的一堆,还有各种MV ...

  4. 鼠标滚轮(mousewheel)和DOMMouseScroll事件

    IE6.0首先实现了mousewheel事件.此后,Opera.Chrome和Safari也都实现了这个事件.当用户通过鼠标滚轮与页面交互.在垂直方向上滚动页面时(无论向下还是向上),就会触发mous ...

  5. linux 下执行.sh文件总是提示permission denied

      linux 下执行.sh文件总是提示permission denied 如果你是root登陆的话(不是的话,切换到root用户,对*.sh赋可执行的权限) chmod 777 *.sh or ch ...

  6. lucene评分推导公式

    在进行Lucene的搜索过程解析之前,有必要单独的一张把Lucene score公式的推导,各部分的意义阐述一下.因为Lucene的搜索过程,很重要的一个步骤就是逐步的计算各部分的分数. Lucene ...

  7. SPOJ 1811 Longest Common Substring (后缀自动机第一题,求两个串的最长公共子串)

    题目大意: 给出两个长度小于等于25W的字符串,求它们的最长公共子串. 题目链接:http://www.spoj.com/problems/LCS/ 算法讨论: 二分+哈希, 后缀数组, 后缀自动机. ...

  8. for()循环

    今天发现自己一直以来都搞错了for()循环的执行顺序.这么简单的问题一直都错了,我也是醉了. ;i>&&a[i]>a[i-];--i) { } //即 for(init_s ...

  9. UVALive 4119 Always an integer (差分数列,模拟)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud Always an integer Time Limit:3000MS     M ...

  10. CDZSC_2015寒假新人(2)——数学 P

    P - P Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status ...