手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2008年09月的文章

精通MYSQL数据库——连载一

 

 从今天开始,逐步对MYSQL数据库的设计以及一些常规资料进行介绍。内容可能会参考网络或者书籍,当然还有自己的一些小小的经验。思维可能会有点跳跃,但可以肯定的是,本文没有一个字是从网上COPY下来,纯粹是手工输出。如果有错别字,请留言,我会尽快改正。 

 

数据库应用程序的第一阶段往往都是对数据库进行设计,设计的好坏对应用程序执行效率的高低、程序的编写以及后期的维护工作的难易程序和能否在今后灵活修改设计方案等问题会产生巨大且深远的影响。因此,可以这么认为,在设计阶段埋下的隐患会在后期给开发者和使用者带来无穷的烦恼和痛苦,而这个,却没有任何捷径可走,数据库设计方案的好坏与设计者的知识和经验是否丰富有着很大的关系,如果单位有DBA的话,或许要担心的事会少一点,如果没有,黑黑,那就等着受苦吧。

 

事先说明,本人的设计能力也非常差,所以,在设计一块,我是绝对参照书本而写,即使有个人见解也不会太多。

 

要设计数据库,就不得不了解MYSQL数据表的一些基本类型,我在以前的文章里也介绍过,只是今天在这里我会介绍的更详细一点。MYSQL支持多种数据表类型,比较重要和使用的多的表类型是:myisam,innodb,heap三种。

如果在创建数据库的时候,没有指定表的类型,一定是根据mysql的配置文件中:default-table-type这个选项来决定的,基本上,大多数的设定都是myisam,也有可能是innodb,但几乎可以肯定不会是heap,如果有,那实在是太妖了。

 

今天有点晚了,先介绍一下myisam类型的表的特点吧,明天再介绍其他的。

myisam的最大特点就是成熟、稳定和易于管理,这种类型也是mysql所特有的。并且,如果没有其他什么特殊应用,如事务等,一般建议是选用这种类型的表结构。

虽然大家都了解myisam,并且在实际应用中也正在使用这种类型的表结构,但恐怕你不知道的是,即使是myisam结构,也会为三种类型:

1、myisam static(静态myisam),一般来说,如果数据表的数据列各自都有预先定义好的固定长度,服务器会自动选用这种类型。该类型的存储、读取效率非常高,即使是大量的CRUD操作(只是为了方便,因为R是读取,删了R的话,又是一个新名词,所以还是把R放在了里面)也是如此。同时,该类型的表结构安全性很高,即使出现文件受损或其他问题,数据记录的提取和恢复工作也比其他类型的数据表更容易。

2、myisam dynamic(动态myisam),这个就相对比较好解释了,凡是数据表结构里有varchar字段的,服务器就会自动选用这种类型。优点是:与静态myisam相比,本类型所占用的数据空间会小上很多,在存储字符串和二字制数据时所需要的字节数也往往就是它们的实际长度(或许会额外多出几个字节的开销)。缺点是,这样会造成每行数据的记录长度会不一致,如果数据在进行更新或删除操作的时候,很容易就会在原先存储这些数据的地方形成空洞,造成空间的浪费,而且还会造成数据的不连续,并分散在各处。当数据碎片越来越多的时候,数据的存取时间也就会越来越长。因此,就有了一个单独的方法:optimize table或者其他专门的工具来对数据表进行优化

3、myisam compressed(压缩型myisam),以上两种类型都可以使用myisamchk工具进行压缩,一般来说,压缩后的数据库占用空间大多仅为原来大小的一半(当然这也于数据库存储的内容有关)。虽然以后在读取他们的时候需要先进行解压缩操作,但在“低速硬盘+高速CPU”的系统上,数据表的访问会变得极快。然而,这种类型的表有一个非常致命的缺点,即它们是只读的,不能进行任何写操作。

 

今天先介绍到这里,明天继续往下讲。希望会给大家带来帮助。

 

Tags: mysql, 数据库, 设计, 表的类型, 连载

思维决定出路

其实我要讲的并非什么大道理,而是我在读者上看到的一篇文章。内容大概讲的是文章作者(简称作者)乘大巴回杭州,让大巴司机在城北的某个路口放他下来——因为如果乘到终点站,那他到家的路程比从那个路口回到家中的路程远的多。

刚下车,就有一出租车过来。上车后,司机说:这路口每天晚上都有从大巴下来的顾客,在这里等是一等一个准。如果去车站的话,那边同行太多,和他们抢生意,不一定能抢得过。而现在这样,运气好的话,一天可以赚两天的钱。作者非常感慨,认为司机非常会做生意。不料司机说,这是他老婆教她的。

说到这里,或许有人在猜想,这。。。。怎么和以前那个了出租车MBA的故事很象?但事实并不是这样。

司机说他老婆不是开出租的,是擦鞋的,一天赚的钱是同行的四五倍。作者不信,于是司机一一道来:

他老婆每天起早,先到汽车客运站,有很多人等车,很无聊,这时候正好擦擦皮鞋。8、9点的时候,擦鞋的多了,她就到洗车店那里去,帮那些在洗车并且很无聊的人擦皮鞋,11点左右去车站附近的小饭店,那些在等上菜的人,也可能会擦皮鞋。下午1点多人少的时候,再去洗车店。再晚一点的时候,去写字楼门口,那些想去约会的小青年也会去擦擦皮鞋。

故事就这样结束了,虽然我认为事情可能是虚构的,但讲的道理也是有的:大多数人在做的事情,要么抢在他们前面,要么就干脆放弃。

顺便再讲个网上关于白领的新定义:今天发薪水,交了房租、水电费,买了油、米、煤气和泡面,摸摸口袋,感慨一下,这个月工资又白领了。

Tags: 出路, 思维, 出租车司机, 擦鞋

phpoo.com邮箱申请

phpoo.com邮箱可以申请了,现在用的是google的服务,但我目前没有办法把cname等指向http://mail.phpoo.com,所以有点郁闷,现在只能通过:https://mail.google.com/a/phpoo.com/来访问,如果有需要申请的朋友,可以和我联系,好象不能直接注册的。

呵呵。尝试改成可以mail.phpoo.com能够访问。如果还是不行,考虑换到live.com上去,但,据说是不支持国内的?不清楚,啥时候问问流年,因为thinkphp.cn的邮箱好象就是用live邮箱搞的

Tags: phpoo.com, 邮箱, mail, 申请

群中偶得一笑话,与诸位分享

今日在QQ群中闲逛,听得群友胡侃天地,偶得一笑谈,与诸君共享。

上周六,云高气爽。吾心愉,遂往颐和园。由东门入,行至十七孔桥。后舟至石舫,穿竹林,越沟桥,至四方院落,购肉肠若干,面一桶,吾至饿,故速食之。出院落,行百余步,忽现一庙堂,奇之,遂入!堂内仙女般MM若干,左右依壁各一龙座,一MM见吾左顾右盼,忽披一龙袍于吾身,摁于龙座之上,"皇上勿动!" "喀嚓!" 吾顿觉双眼恍惚,忽觉手中有温软之物,定神视之,见MM玉手攥与吾手之中,吾汗!须臾之间 "喀嚓",吾双目恍惚again,未及清醒,忽闻一MM呼:"喂,你自己照的10块,和哀家合照40,一共50,掏钱!" 

一笑了之

 

Tags: 笑谈, 分享

9月份编程语言排行榜发布-Delphi王者归来

 新闻来源:cnbeta.com

TIOBE编程语言9月份榜单发布,Delphi经过几个月持续上升后终于返回前10名,Ruby下降一位排名第11.
Position
Sep 2008
Position
Sep 2007
Delta in Position Programming Language Ratings
Sep 2008
Delta
Sep 2007
Status
1 1 Java 20.715% -0.99%   A
2 2 C 15.379% +0.47%   A
3 5 C++ 10.716% +0.78%   A
4 3 (Visual) Basic 10.490% -0.26%   A
5 4 PHP 9.243% -0.96%   A
6 8 Python 5.012% +1.99%   A
7 6 Perl 4.841% -0.58%   A
8 7 C# 4.334% +0.75%   A
9 9 JavaScript 3.130% +0.41%   A
10 14 Delphi 3.055% +1.83%   A
11 10 Ruby 2.762% +0.70%   A
12 13 D 1.265% -0.11%   A
13 11 PL/SQL 0.700% -1.16%   A--
14 12 SAS 0.640% -0.76%   B
15 23 ActionScript 0.472% +0.07%   B
16 16 Lisp/Scheme 0.419% -0.21%   B
17 18 Lua 0.415% -0.16%   B
18 22 Pascal 0.400% -0.03%   B
19 - PowerShell 0.384% 0.00%   B
20 17 COBOL 0.360% -0.27%   B
前10名其他语言排位没有变化。

Tags: delphi, code gear, pascal, object pascal, 编程语言