- 浏览: 507201 次
- 性别:
- 来自: 大连->北京
最新评论
-
春天好:
写的很不错 推荐一个免费好用的云端爬虫开发平台不需要安装环境, ...
web爬虫 -
cpu88:
网络爬虫爬来爬去,网上信息可以瞬间扩散,但是也意味着,没有人愿 ...
web爬虫 -
biaoming:
牛。。学习了。。
MongoDB 关于索引的建议 -
biaoming:
楼主用mongo好早啊。
MongoDB 优化 -
biaoming:
好教程,学习了。。。
MongoDB 优化
文章列表
在深入javascript面向对象特性之前,让我们温习下基础知识。这一章能带你学会如下知识点:
Javascript的基本类型,比如字符串和数字类型。
数组
基本的运算符,如+,-,delete,typeof
控制语句,比如循环和条件。
变量
变量用来存储数据。当编写程序的时候,可以非常方便的使用变量去代替实际的数据。比如,当你在程序中过多的使用3.1415926的时候,你可以使用变量pi来代替。之所以叫变量的原因是,存放数据的这个变量在初次赋值之后,可以进行任意的修改。变量也能存储程序员不知道的数据,比如运算之后的结果。
使用变量需要知道两个步骤:
声明一 ...
- 2009-10-12 21:39
- 浏览 1876
- 评论(0)
一个查询执行的不是很理想,大部分原因都是由于数据量过大。很多查询都筛选了大量的数据并且并没有什么作用。其实大部分不好的语句都可以访问更少的数据。我们可以通过两个步骤来分析性能差的查询语句。
找 ...
上一章,我们解释了怎样优化schema.这是高性能的一个必要条件。但是仅仅考虑Schema也是不够的-你也需要设计你的查询。如果你的查询很差,即使Schema设计完美,也没什么用。
查询优化,索引优化,和schema优化应该一起齐头并进的。随着你在MySQL中获得了优化查询的经验,你也会明白怎样设计Schema来支持你这些高效的查询。同样的,你对Schema设计的了解也会影响你所写查询的类型。这个过程是花费时间的,所以我们建议在你知道更多的时候,要复习下前几章。
这章要从考虑查询的设计开始。如果一个查询效率很低,这是你应该首先要考虑的。之后深度挖掘查询优化器和服务器内部。我们教你 ...
- 2009-08-12 16:49
- 浏览 1024
- 评论(0)
这一章的结束,我们来说一下关于设计模型的存储引擎的选择,这些你应该牢记。我们不会全面的介绍存储引擎,目标就是列出一些影响数据模型设计的一些关键性因素。
MyISAM存储引擎
表锁(Table locks)
MyISAM是表一级的锁。小心地是这个不会成为一个瓶颈。
没有自动数据恢复(No automated data recovery)
如果MySQL服务器挂了或者电源关闭。你应该在使用表之前来修复MyISAM表。如果有个大表,这个过程可能会持续几个小时。
不支持事物(No transactions)
MyISAM不支持事物。事实上,MyISAM表不能保证一个单独的 ...
- 2009-08-12 15:26
- 浏览 1099
- 评论(0)
当对于一个大表进行ALTER TABLE的时候,性能问题就产生了。MySQL大部分改动的步骤如下:根据新的表结构创建一个空表,从旧表中把数据取出来插入到新表中,在删除旧表。这是个非常漫长的过程。许多人ALTER TABLE之后,都有等待1小时或者1天的痛苦经历。
MySQL AB已经开始提升这方面的性能了。一些即将到来的特性是支持"在线"的操作,而不会去锁定表。InnoDB的开发者也在积极努力开发以排序来创建索引。MyISAM已经支持这一特性了,结果就是索引更快并且压缩了索引布局。
并不是所有的ALTER TABLE都会使表重建。举个例子,你可以用两个方法更改 ...
- 2009-08-12 14:02
- 浏览 1879
- 评论(0)
有很多方法来展现给定的数据。从完全范式到完全的非范式以及介于两者之间。在符合范式的数据库中,每个事实展现一次并且仅仅展现一次而已。相反的,在非范式的数据库,信息重复或者存储在很多的地方。
如果你不熟悉范式,你应该加强学习了。关于范式,你可以通过一些书和网上资源来学习。在这里,我们主要介绍这一章中你应该明白的知识。让我们看看经典的例子,那就是employee,departments,和department heads.
EMPLOYEE DEPARTMENT HEAD
Jones ...
当你已经创建了一张表,有合适的数据类型,并添加了索引之后,其实你的工作还并没有结束:你还需要维护你的表和索引使它们工作的更好。表的维护有三个主要的目标:发现和解决表的损坏,维护准确的索引统计,并且要降 ...
- 2009-08-10 15:38
- 浏览 1456
- 评论(0)
用例子来理解索引的概念是再简单不过的方法了。因此我们研究一个索引示例。
假使我们要做一个在线约会的网站。用户的资料就会有很多列,比如country, state/region, city, sex, age, eye color等等。这个站点必须支持这些属性的组 ...
- 2009-08-06 14:09
- 浏览 1136
- 评论(0)
InnoDB中,索引所扮演的角色是非常重要的。因为它们可以能让语句锁定更少的行。这是个要考虑的事情,因为在MySQL5.0 InnoDB中一个事物提前之前,是不会释放锁的。
如果查询语句不会检索它们不需要的行。它们将锁定更少的行。并且对于性能有提高,原因有二:首先,即使InnoDB行锁是非常有效率的并且使用更少的内存,但是行锁也会消耗一定的资源。其次,锁定很多的行就提高了锁的竞争并且降低了并发。
仅当InnoDB访问行的时候,才对它们加锁,并且一个索引可以降低InnoDB所要访问的行,因此也会降低锁。然而,这种情况只适用于在存储引擎级别中,InnoDB过滤了不期望的行。如果索引不 ...
- 2009-07-31 15:48
- 浏览 1050
- 评论(0)
MySQL可以在一个列上创建多个索引;这么做并不会提醒和防止发生错误。MySQL必须单独维护每一个重复的索引,当语句优化器优化语句的时候,它会参考这些索引。这样会对性能造成影响。
重复的索引是那些具有相同类型,在同顺序下的相同一组索引。你应该避免这样来创建它们并且如果发现它们要尽早的删除。
有的时候你可能在不知道的情况下就创建了重复索引。比如,如下的代码
CREATE TABLE test (
ID INT NOT NULL PRIMARY KEY,
UNIQUE(ID),
INDEX(ID)
);
一个没有经验的用户可能想到要使列的 ...
MyISAM使用前缀压缩来降低索引的大小,这样就可以把更多的索引放到内存中并且在某些情况下可以大幅度提升性能。默认的是压缩字符串,但是你可以指定它来压缩整型的值。
MyISAM通过存储块的第一个值来压缩每个索引块,之后通过记录相同前缀的字节数在加上不同后缀实际的数据的方式来存储在块中的每个附加的值。举个例子,如果第一个值是“perform”并且第二个值是“performance”,第二个值就会存储为"7,ance"。MyISAM也会前缀压缩相邻的行指针。
压缩块使用的更少的空间,但是它们会使主要操作变慢。因为每个值的压缩前缀都依赖于它之前的值,MyISAM不能 ...
MySQL有两种方法生成有序的结果:使用文件排序或者按顺序的扫描索引。你可以使用EXPLAIN来查看type列是否是index来得知MySQL是否计划的扫描索引。
扫描索引本身是非常快速的,因为它只是简单的需要从一个索引实体移动到下一个。然而,如果MySQL没有使用索引覆盖这个查询,它就会查找在索引中发现的每一行。这是个随机IO的过程,因此从索引顺序中读取数据比连续表的扫描要慢很多。
MySQL可以使用相同的索引来排序和查找行。如果可能,同时满足这两个任务是再好不过的事情了。
当索引的顺序和order by条件顺序相同并且所有的列都在同一个方向(升序或降序)时,通过索引排 ...
索引是高效找到行的一个方法,但是MySQL也能使用索引找到一个列的数据,因此它不必读取整个行。毕竟索引叶子节点存储了它们索引的数据;当能通过读取索引就可以得到想要的数据,那就不需要读取行了。一个索引包含了( ...
聚簇索引并不是一个独立的索引类型。确切的说它们是存储数据的一个途径。在不同实现之间,还是有一些细节上的变化,但是InnoDB的聚簇索引实际是在相同的结构中把B-TREE索引和这些行一并的存储。
当一个表中有聚簇索引,它的行实际存储在索引的叶子的页(leaf pages)。“clustered”所指的意思是行的相邻键值彼此存储的非常近。你可能每张表只会有一个聚簇索引,因为你不能同时的在两个地方存储这些行。
因为存储引擎负责实现索引,因此并不是所有的存储引擎都支持聚簇索引。目前来说,solidDB和InnoDB支持。这部分我们重点放在InnoDB上,但是对于那些已经实现或者将要实现聚 ...
转自http://paowang.com/post/10005613
1、公交车上,一漂亮mm遭色狼骚扰,忍无可忍,回头大吼一声:“你挤个JB!”全车鸦雀无声,色狼也愣了,沉默两秒钟,怯怯地说:“一个……”
2、服务员:“欢迎光临。”顾客:“我要一个圣代。”服务员:“什么口味的?” 顾客:“麻酱的……”
3、“回床率”,好词儿!
4、马未都的口才极佳,看过他在CCTV《百家讲坛》上讲收藏故事的人大概领教过了,但是生活中他的语言更精彩,马老说,最直白的语言说好了是最有力量的。陕北信天游里有句歌词:“白
- 2009-07-15 10:09
- 浏览 1064
- 评论(0)