随笔分类 - 数据库原理总结
摘要:基数:某列的唯一键的数量。基数与总行数的比值再乘以100%就是选择性。 什么样的列必须创建索引呢? 当一个列出现在where条件中,该列没有创建索引,并且选择性大于20%,那么就必须创建索引,从而提升sql性能。当然了如果表只有数白条数据,就不用创建索引了。 第一个观点:只有大表才会有性能问题 回表
阅读全文
摘要:数据类型? BIT 只能是True或者False,也能为Null。 TINYINT, SMALLINT, INT, BIGINT SMALLINT starts at –32,768 and ends at 32,767. DECIMAL/NUMERIC SMALLMONEY, MONEY 数字类型
阅读全文
摘要:经常有人说要直接用数据库的profile和monitor就可以了,到这一步那已经是到了数据库查询性能,已经到了调优的后期。对此我表示不认同,于是现在来写一个评估数据库的前言,谈谈数据库性能问题所需要了解的内容。 基本概念性能问题什么是性能问题?当系统出现性能问题,那么反过来问为什么说出现了性能问题,
阅读全文
摘要:索引的维护,从以下方面考虑: • Index fragmentation 碎片化• Heap bloat and forwarding • Columnstore fragmentation• Statistics• In-memory statistics
阅读全文
摘要:关于索引的误解有这些: • Databases don’t need indexes.• Primary keys are always clustered. 先创建聚集索引后,设置主键,那么主键是非聚集的。 • Online index operations don’t block. 在线操作索引
阅读全文
摘要:可以利用Dynamic Management Functions检查页 它们是 • sys.dm_db_database_page_allocations• sys.dm_db_page_info
阅读全文
摘要:存储基础 SQL Server内部使用了大量的结构来存储和组织数据。 页 SQL Server使用页来存储一切。当数据文件分配给数据库的时候,所有可用空间都会被分割成页,一页8KB (8,192 字节) ,页从0开始编号,依次加1.SQL Server与数据文件的IO交互,最小单位是页。 页有3个关
阅读全文
摘要:一有四种主要的索引类型:堆、聚集、非聚集、列存储。 堆 SQL Server默认新建一个表后按照堆来存储。就是按照添加顺序进行组织。直到添加了聚集或者非聚集索引才会变化。 聚集 数据库表行中数据的物理顺序与键值的逻辑(索引)顺序相同,一个表只能有一个聚集索引,因为只有一种物理顺序。大多数情况下,主键
阅读全文
摘要:1用更少的资源占用方式来编写sql,比如内存、cpu、IO。可以通过以下方式 2更少的资源密集型方式编写sql; 3更高效的使用程序缓存的方式编写sql; 1避免资源密集型的查询 避免数据类型转换 跟列比较的数据的类型如果跟该列定义的类型不一样,会转换成定义的类型,增加了CPU消耗 使用EXISTS
阅读全文
摘要:在实际的工作环境下,许多人会遇到海量数据这个复杂而艰巨的问题,它的主要难点有以下几个方面:一、数据量过大,数据中什么情况都可能存在。如果说有10条数据,那么大不了每条去逐一检查,人为处理,如果有上百条数据,也可以考虑,如果数据上到千万级别,甚至 过亿,那不是手工能解决的了,必须通过工具或者程序进行处
阅读全文

浙公网安备 33010602011771号