写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记 录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4 个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),则总共需要 100s(但实际上要好...
阅读全文
首先,我们要先了解索引的基本原理,具体参考 :http://blog.csdn.net/lengyuhong/archive/2010/09/02/5859591.aspx
简朝阳的《mysql性能调优与架构设计》一书中,索引的优化主要参见 “8.4 合理设计并利用索引”一节,看好之后,受益匪浅的。
在此基础上,我还从简朝阳的博客上载录了几篇介绍mysql中不同存储引擎不同的索引结构:
1.Innodb
Innodb 作为 MySQL 中使用最为广泛的 事务型...
阅读全文
具体的安装方法,参见《mysql核心内幕》第三章的编译与安装mysql一节
用./BULLD/compile-pentium-debug --prefix=/usr/local/mysql
没有效果,我进而采用了它讲的另一种安装方法
在系统中更加一个mysql的用户:
[root@localhost mysql]# groupadd mysql
[root@localhost mysql]# useradd -g mysql mysql
1 ./configure --prefix=/usr/localmysql -with -debug
运行结果:
2. make
但这时程序报错
出错...
阅读全文
mysql的相关特性,大家都清楚,我就不再唠叨
学习资料:
MySQL性能调优与架构设计》
作者介绍:简朝阳,毕业于南京工业大学管理科学与工程学院,管理学学士。擅长MySQL & Oracle数据库应用系统的性能调优与高可用可扩展架构设计,有一定的对Java 和C语言基础。目前就职于阿里巴巴(中国)网络技术有限公司,曾参与过公司多个核心数据库应用系统的设计与实施,目前主要负责 MySQL 数据库应用系统的架构设计与相关...
阅读全文
一、下载mysql
最简单方法,直接输入命令:sudo apt-get install mysql-server。装完已经自动配置好环境变量,可以直接使用mysql的命令。
下载安装过程中会提示输入用户名和密码,非常easy!
注:建议将/etc/apt/source.list中的cn改成us,美国的服务器比中国的快很多。
二、配置mysql
1、启动mysql
2、在mydql>中输入:show variables like 'character%'; 查看编码
+----...
阅读全文
大体步骤:
创建SQLiteDatabase对象
通过重写SQLiteHelper类,执行增删减操作
写构造方法
onCreate()方法,即第一次使用这个表时,调用的方法(一般建表的语句)
onUpgrade()方法,版本更新时调用
直接执行查询操作(返回值为游标)
调用moveToXX()方法对游标直接找到相关数据,返回布尔值(游标可滚动,不需要While())
实例代码:
重写SQLiteHelper类
<span style="font-size:14px;">package com.study.entity;
im...
阅读全文
关系数据库已经统治数据存储30 多年了,但是无模式(或NoSQL)数据库的逐渐流行表明变化正在发生。尽管 RDBMS 为在传统的客户端服务器架构中存储数据提供了一个坚实的基础,但它不能轻松地(或便宜地)扩展到多个节点。在高度可伸缩的 Web 应用程序(比如 Facebook 和 Twitter)的时代,这是一个非常不幸的弱点。
尽管关系数据库的早期替代方案(还记得面向对象的数据库吗?)不能解决真正紧急的问题,NoSQL 数据库(比如 Goog...
阅读全文
Max Indelicato曾发表过一篇文章《NoSQL on the Microsoft Platform》,文中列举了运行在微软平台上的NoSQL数据库,并分别对这些数据进行了介绍,现将对此文的翻译转载于此,供大家学习:
从可查询的分布式解决方案,如MongoDB,到简单的分布式Key/Value存储解决方案,如Cassandra。此外,还有Riak,Tokyo Cabinet,Voldemort,CouchDB和Redis。但目前仅有少量的NoSQL项目支持在Windows平台上运行,如果要说到生产应用那就更少...
阅读全文
前段时间国内外对NoSQL的讨论非常热烈,Digg和Reddit使用Cassandra,Facebook经过一些变化后依然对 NoSQL进行测评,NoSQL取代SQL的呼声高涨,因为互联网行业使用MySQL的概率非常高,加之Oracle收购的消息,一时间似乎MySQL将成为NoSQL数据库的牺牲品,一场轰轰烈烈的技术革命就要到来了。
几个月过去了,NoSQL并没有像大家所想象的那样席卷全球,很多人设想中的MySQL与NoSQL的战争也仅存于设想中,国内不要说使用了,测评NoSQL...
阅读全文