- 博客(14)
- 资源 (10)
- 收藏
- 关注
转载 Schema的优化和索引 - 前言
前言 优化一个设计不当或者错误使用索引的Schema,可以数量级的提高性能。如果需要高性能,你必须对于将要执行的具体语句设计Schema和索引。你也应该对于不同种类的语句进行性能的评估,因为修改成一个语句或者schema的一部分可能会引发其他的一些连带效应。优化往往涉及到了折中。比如,添加索引会增加查询速度,但会降低更新速度。同样的,非范式的schema能提高一些语句的执行速度,但是可能在其
2013-05-25 11:02:33 548
转载 简化功能点分析
在我们的开发工作中一共有两类东西要开发,一种是数据,一种是操作。在NESMA简化方法中由于每个数据是7点,而每个操作是4点左右SBSG/IFPUG包括中国的CSBSG等都有不同行业/不同类型软件的生产率统计,如果你在中国,用C#或Java开发一个类似OA/CRM这样的业务流转软件,那么生产率大约是9小时/功能点过统计发现每个数据差不多有7个操作,所以刚才咱们找出了3个数据,那么
2013-05-17 10:20:03 631
转载 mysql explain 中key_len的计算
今天丁原问我mysql执行计划中的key_len是怎么计算得到的,当时还没有注意,在高性能的那本书讲到过这个值的计算,但是自己看执行计划的时候一直都没有太在意这个值,更不用说深讨这个值的计算了:ken_len表示索引使用的字节数,根据这个值,就可以判断索引使用情况,特别是在组合索引的时候,判断所有的索引字段都被查询用到。在查看官方文档的时候,也没有发现详细的key_len的计算介绍,后来做
2013-05-10 10:44:05 514
原创 MySQL查询缓存设置
查看查询缓存设置mysql> select @@query_cache_type;+——————–+| @@query_cache_type |+——————–+| ON |+——————–+修改查询缓存设置这样当我们执行 select id,name from tableName; 这样就会用到查询缓存。在 query_cache_type
2013-05-10 10:23:47 542
转载 理解MySQL——索引与优化
写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),
2013-05-08 15:09:04 554
转载 mysql 多列索和order by
多列索引的select * where * order by * 查询条件索引很难建立,需要不断调试,最后找出规则:三原则:1. 将经常要查询的字段放到多列索引的前面2. 将要进行等值查询的字段放到多列索引前面3. order by field的列放到多列索引的最后以下是测试先来一张表: CREATE TA
2013-05-06 16:57:53 768
转载 MYSQL索引使用
什么是索引?索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快1
2013-05-02 17:43:45 1085
转载 MYSQL查询优化:使用索引
索引是提高查询速度的最重要的工具。当然还有其它的一些技术可供使用,但是一般来说引起最大性能差异的都是索引的正确使用。在MySQL邮件列表中,人们经常询问那些让查询运行得更快的方法。在大多数情况下,我们应该怀疑数据表上有没有索引,并且通常在添加索引之后立即解决了问题。当然,并不总是这样简单 就可以解决问题的,因为优化技术本来就并非总是简单的。然而,如果没有使用索引,在很多情况下,你试图使用其它的方法
2013-05-02 17:39:50 616
转载 MySQL查询优化器
当你提交一个查询的时候,MySQL会分析它,看是否可以做一些优化使处理该查询的速度更快。这一部分将介绍查询优化器是如何工作的。如果你想知道MySQL采用的优化手段,可以查看MySQL参考手册。当然,MySQL查询优化器也利用了索引,但是它也使用了其它一些信息。例如,如果你提交如下所示的查询,那么无论数据表有多大,MySQL执行它的速度都会非常快:SELECT * FROM
2013-05-02 17:37:34 724
转载 MySQL索引和优化查询
索引和优化查询恰当的索引可以加快查询速度,可以分为四种类型:主键、唯一索引、全文索引、普通索引。主键:唯一且没有null值。create table pk_test(f1 int not null,primary key(f1));alter table customer modify id int not null, add primary key(id);普通索引:允许
2013-05-02 16:53:16 599
转载 MYSQL查询优化:Limit
1.LIMIT n 等价于 LIMIT 0,n 偏移offset较小的时候,直接使用limit较优。2、offset大的时候。select * from yanxue8_visit limit 10000,10多次运行,时间保持在0.0187左右Select * From yanxue8_visit Where vid >=(Select vid From yanxue8_
2013-05-02 15:40:09 778
转载 MYSQL查询优化(二)
1、优化数据类型(1)避免使用NULL NULL对于大多数数据库都需要特殊处理,MySQL也不例外,它需要更多的代码,更多的检查和特殊的索引逻辑,有些开发人员完全没有意识到,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默认值。(2)仅可能使用更小的字段 MySQL从磁盘读取数据后是存储到内存中的,然后使用cpu周期
2013-05-02 15:38:06 522
转载 MYSQL查询优化(一)
一、 通过查询缓冲提高查询速度 一般我们使用SQL语句进行查询时,数据库服务器每次在收到客户端发来SQL后,都会执行这条SQL语句。但当在一定间隔内(如1分钟内),接到完全一样的SQL语句,也同样执行它。虽然这样可以保证数据的实时性,但在大多数时候,数据并不要求完全的实时,也就是说可以有一定的延时。如果是这样的话,在短时间内执行完全一样的SQL就有些得不偿失。 幸好MySQL为我们提供
2013-05-02 15:37:42 545
转载 InnoDB与MyISAM区别
MyISAMInnoDB构成上区别每个MyISAM在磁盘上存储成三个文件。文件名为表名,扩展名为文件类型。.frm 文件存储表定义;.MYD(MYData) 数据文件的扩展名;.MYI(MYIndex) 索引文件的扩展名。基于磁盘的资源是InnoDB表空间数据文件和它的日志文件,InnoDB 表的大小只受限于操作系统文件的大小,一般为 2GB事务
2013-05-02 15:36:53 520
spring-boot-reference-2.0.3-中文版
2018-08-21
Netty权威指南 第2版 带书签目录 完整版
2018-08-21
spring-boot-reference-guide-zh_cn
2018-03-05
spring-framework-5-0-0-m3-zh_cn
2018-03-05
HSQLDB用户指南
2012-03-21
Addison.Wesley.BIRT.A.Field.Guide.3rd.Edition.Feb.2011.pdf
2011-08-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人