zoukankan      html  css  js  c++  java
  • 数据库的优化tips

    数据库   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字节)

  • 相关阅读:
    Duang!异地多活!_InfoQ_传送门
    异地多活设计辣么难?其实是你想多了!-博客-云栖社区-阿里云
    途牛谭俊青:多数据中心状态同步&两地三中心的理论
    魅族多机房部署方案
    荔枝FM架构师刘耀华:异地多活IDC机房架构
    zz
    “异地多活”多机房部署经验谈_运维管理_数据中心_中国IDC圈
    天猫双11晚会和狂欢城的互动技术方案
    案例 | 魅族云端同步的架构实践和协议细节
    如何应对大促?看京东核心中间件团队的高可用实践指南
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5226337.html
Copyright © 2011-2022 走看看