数据库优化(数据索引)

首先我们要了解SQLserver 的

执行计划

可以缓存,存储过程/参数化查询

比如:当你在SQL中数据

  select * from User where id=1

  select * from User where id=2

这两句T-SQL执行计划中是两个不一样的数据

  select * from User where [email protected]

使用 SqlParameter 是使用相同的执行计划在下次查询的时候会更加快速

数据库是什么?

数据库:  

   应用程序,有序的数据管理----数据在硬盘(持久化;唯一的,多线程操作需要加锁;速度慢,可以SSD加快速度)

1000W的数据大小约等于---2G 打开都是很慢或者打不开,,如何加快查询数据-----索引

数据库是如何存储的

数据如何存储

  数据会在硬盘上创建连续的Page 每个Page大小8kb(相对于每个字段的大小为8kb)

  *8kb/page  任何一条数据不能跨页存储:数据长度不能超过8096,char varchar max就是8096

  text存储超过8kb,会存在另外一个page,数据页只存储位置(效率肯定很低)(分配连续的多个数据页page保存地址)

  int/DateTime:可以放入一个page(设计数据库时候,字段类型空间范围尽量小一点)

  Extent 扩展区  N个扩展区就是堆

  

 

     管理数据页,记录好数据页在硬盘的具体位置

      IAM Page 管理数据页 数据页里面的路径和具体位置,如果丢失所有的数据将没有任何意义也找不到在哪里

 文本图像页 像text等等文本超过8kb的数据   他的查找首先通过Page页找到索引在通过索引在找到文本图像页 数据非常慢

   索引页:数据&位置

                索引是一个独立的,重复的存储;体积小,扫描快

   他们的数据都是重复的,IndexPage的数据都是来自page页面

原文地址:https://www.cnblogs.com/YZM97/p/12658676.html

时间: 2024-10-11 13:09:04

数据库优化(数据索引)的相关文章

数据库优化--使用索引优化存储过程

http://www.cnblogs.com/chillsrc/archive/2010/06/10/1755639.html 数据库优化--使用索引优化存储过程

基础的增删改查,数据库优化,索引

mysql的特点 关系型数据库,免费使用, 插入式存储引擎, 性能高, 基础的增删改查 ddl语句,数据定义语句 123456789101112 create database test1;drop database test1;use test1;create table emp(ename varchar(10),hiredate date,sal decimal(10,2),deptno int(2));drop table emp;alter table emp modify ename

浅谈数据库优化之-索引

数据库索引 1.什么是索引 在数据库中,索引的含义与日常意义上的“索引”一词并无多大区别(想想小时候查字典),它是用于提高数据库表数据访问速度的数据库对象.A)索引可以避免全表扫描.多数查询可以仅扫描少量索引页及数据页,而不是遍历所有数据页.B)对于非聚集索引,有些查询甚至可以不访问数据页.C)聚集索引可以避免数据插入操作集中于表的最后一个数据页.D)一些情况下,索引还可用于避免排序操作. 当然,众所周知,虽然索引可以提高查询速度,但是它们也会导致数据库系统更新数据的性能下降,因为大部分数据更新

高并发之数据库优化

数据库缓存 常见的缓存形式:内存缓存,文件缓存 mysql查询缓存(了解即可) query-cache-type 查询缓存类型,有0.1.2三个取值.0则不使用查询缓存.1表示 始终使用查询缓存.2表示按需使用查询缓存. query_cache_type为1时,亦可关闭查询缓存 SELECT SQL_NO_CACHE * FROM my_table WHERE condition; query-cache-type为2时,可按需使用查询缓存 SELECT SQL_CACHE * FROM my_

[转]浅析大数据量高并发的数据库优化

链接:http://www.uml.org.cn/sjjm/201308264.asp 高并发数据库可以同时处理海量信息,应用范围很广.今天我们将讨论的是大数据量高并发的数据库优化,希望对大家有所帮助. 一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能.所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的. 在一个系统分析.设计阶段,因为数据量较小,负荷较低.我们往往只注意到功能的实现,而很难注意到性

Mysql数据库优化技术之配置篇、索引篇 ( 必看 必看 转)

转自:Mysql数据库优化技术之配置篇.索引篇 ( 必看 必看 ) (一)减少数据库访问 对于可以静态化的页面,尽可能静态化 对一个动态页面中可以静态的局部,采用静态化 部分数据可以生成XML,或者文本文件形式保存 使用数据缓存技术,例如: MemCached (二)优化的检测方法 1.用户体验检测 2.Mysql状态检测 在Mysql命令行里面使用show status命令,得到当前mysql状态. 主要关注下列属性: key_read_requests (索引读的请求数)(key_buffe

面试技巧,如何通过索引说数据库优化能力,内容来自Java web轻量级开发面试教程

上星期写了一个篇文章,数据库方面的面试技巧,如何从建表方面展示自己能力,承蒙管理员抬举,放入首页,也承蒙各位厚爱,两天内收获了将近770个点击,也一度进入48小时热榜. 为了感谢管理员和大家的支持,再根据我的面试经验原创一篇关于索引方面如何推销自己的文章.这内容也来自我写的书 java web轻量级开发面试教程. 如果我们需要招个Java方面的高级程序员,一方面看年限(本科3年),具体到数据库方面的技能要求,包括如下三个方面: 第一,是否会基本的增删改查,存储过程等技能,是否会用些group b

(转)大数据量高并发的数据库优化与sql优化

大数据量高并发的数据库优化 一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能.所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的. 在一个系统分析.设计阶段,因为数据量较小,负荷较低.我们往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性能则要花费更多的人力物力,而整个系统也不可避免的形成了一个打补丁工程. 所以在考虑整

MySQL 数据库性能优化之索引优化

这是 MySQL数据库性能优化专题 系列的第三篇文章:MySQL 数据库性能优化之索引优化 索引为什么能提高数据访问性能? 很多人只知道索引能够提高数据库的性能,但并不是特别了解其原理,其实我们可以用一个生活中的示例来理解. 我们让一位不太懂计算机的朋友去图书馆确认一本叫做<MySQL性能调优与架构设计>的书是否在藏,这样对他说:"请帮我借一本计算机类的数据库书籍,是属于 MySQL 数据库范畴的,叫做<MySQL性能调优与架构设计>".朋友会根据所属类别,前往