2014年04月6日

【转】InnoDB还是MyISAM 再谈MySQL存储引擎的选择

Filed under: MySQL — cmpan @ 2014-04-06 09:23:41

两种类型最主要的差别就是Innodb 支持事务处理与外键和行级锁.而MyISAM不支持.所以MyISAM往往就容易被人认为只适合在小项目中使用。

我作为使用MySQL的用户角度出发,Innodb和MyISAM都是比较喜欢的,但是从我目前运维的数据库平台要达到需求:99.9%的稳定性,方便的扩展性和高可用性来说的话,MyISAM绝对是我的首选。
(全文 …)

Views – 2942

2012年07月23日

远程连接mysql速度慢的解决方法

Filed under: MySQL — cmpan @ 2012-07-23 16:52:00

PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的MYSQL开启了DNS的反向解析,在MY.INI(WINDOWS系统下)或MY.CNF(UNIX或LINUX系统下)文件的[mysqld]下加入skip-name-resolve这一句。连接mysql速度慢的解决方法.

(全文 …)

Views – 2262

2010年10月13日

安装 Nginx+PHP+MySQL

Filed under: MySQL » Web Server » Nginx » PHP — 标签:, , , — cmpan @ 2010-10-13 23:42:57

#安装 Nginx+PHP+MySQL

#目录结构
#+
#|-webserver
#    |-pagkages/
#    |-data/
#    |-php/
#    |-mysql/
#    |-web/

(全文 …)

Views – 2694

2009年07月17日

MySQL外键

Filed under: MySQL — 标签:, — cmpan @ 2009-07-17 19:20:07

MySQL只在v3.23.34版本以后才引入外键,并且只有INNODB引擎支持外键

建立外键的前提: 本表的列必须与外键类型相同(外键必须是外表主键)。
外键作用: 使两张表形成关联,外键只能引用外表中的列的值。
指定主键关键字: foreign key(列名)
引用外键关键字: references <外键表名>(外键列名)
事件触发限制: on delete和on update , 可设参数cascade(跟随外键改动), restrict(限制外表中的外键改动),set Null(设空值),set Default(设默认值),[默认]no action

可以通过 CREATE TABLE 或者 ALTER TABLE 来定义外键。
CREATE TABLE 语法:

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[(create_definition,…)]

create_definition:
column_definition
| [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,…) [reference_definition]

column_definition:
col_name type [NOT NULL | NULL] [DEFAULT default_value]
[AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY]
[COMMENT ’string’] [reference_definition]

index_col_name:
col_name [(length)] [ASC | DESC]

reference_definition:
REFERENCES tbl_name [(index_col_name,…)]
[MATCH FULL | MATCH PARTIAL | MATCH SIMPLE]
[ON DELETE reference_option]
[ON UPDATE reference_option]

reference_option:
RESTRICT | CASCADE | SET NULL | NO ACTION

ALTER TABLE 语法:

ALTER [IGNORE] TABLE tbl_name
alter_specification [, alter_specification] …

alter_specification:
| ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,…)
| ADD [CONSTRAINT [symbol]] UNIQUE [INDEX] [index_name] [index_type] (index_col_name,…)
| ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,…) [reference_definition]
| DROP FOREIGN KEY fk_symbol

例如:

out_table 主键 id 类型 int

创建含有外键的表:

CREATE TABLE temp(
  id int,
  name char(20),
  FOREIGN KEY(id) REFERENCES out_table(id) ON DELETE CASCADE ON UPDATE CASCADE
);

说明:把id列设为out_table外键,当外键的值删除,本表中对应的列筛除,当外键的值改变,本表中对应的列值改变。

Views – 2322

MySQL存储引擎支持功能比较

Filed under: MySQL — 标签:, — cmpan @ 2009-07-17 19:07:54

中文版的在javaeye论坛和《深入浅出MySQL》都有

Views – 2424

Copyright © 2009 流水孟春 版权所有
Web技术,LAMP,Nginx,Web2.0,前端技术
Powered by WordPress & UI Designed by 流水孟春