- 博客(14)
- 资源 (2)
- 收藏
- 关注
原创 第0章 理论概要
一,数据库设计概述 1,数据库开发人员必须熟悉某种商业领域的商业知识,甚至是该商业领域的专家。 2,数据库开发人员经常与其他人员一起工作,需要沟通技巧。 命名: 1,标准计算机英文为蓝本,杜绝一切拼音或拼音英文混杂。建议语义化英语方式。 注释:尽最大努力把方便留给别人和将来的自己。 用出生日期记录年龄更好:1:不变;2:可计算 数据库设计,没有对与错,只有合适不合适。
2015-10-27 09:10:55 244
原创 第19章 优化数据库对象
1,优化表的数据类型: select * from temp procedure analyse()/G 2,通过拆分提高表的访问效率 1,垂直拆分,根据主键分成两个表,一个常用列,一个非常用列。 2,水平拆分,数据独立,根据日期、地区、是否常用等,需要独立存储。如电话账单:三月内,单表;三月前,单表;1年前,独立介质。 3,逆规范化,冗余姓名,提高查询速度,降低修改速度。 增加冗
2015-10-27 08:59:31 278
原创 第18章 SQL优化
查看统计参数:默认session show [session|global] status [like 'com_%'] global:自数据库上次启动至今 com_select 一次查询增加一次 com_insert 批量inset算一次 com_update;统计的是执行次数,提交或回滚都会计算 com_delete com_commit com_roooback 基本信息
2015-10-27 08:58:20 281
原创 第16章 SQL Mode及相关问题
查看默认: select @@sql_mode; 临时设严格模式: set session sql_mode ='STRICT_TRANS_TABLES'; 在数据迁移到不同的数据库时,sql_mode能提供不同的建表语句。
2015-10-27 08:54:39 326
原创 第12章 存储过程和函数。控制台写简单过程
控制台写简单过程 创建简单的循环脚本,可快速执行: 1,定义结束标记: delimiter ||2,创建过程 drop procedure if exists tmp_procedure || create procedure tmp_procedure() begin declare i int; set i=0; while i < 5 do insert into t ...
2015-10-27 08:51:04 327
原创 第10章 索引与外键
索引长度计算单位为字节。 varchar等长度计算为字符。 create index cityname on city(city(10));前缀索引 索引原则: 1,高离散度 2,用段索引,如:char(200) -> char(10) 3,多列索引的最左前缀 4,不过度索引:1,影响数据变更;2:影响查询计划 5,InnoDb普通索引都会保存主键的值,所以主键尽量简短
2015-10-27 08:48:35 310
原创 第9章,字符集批量修改
GB2312-80定长双字节 早期标准,不再推荐使用 GBK定长双字节不是国标,但支持众多 GB 18030不定长2或4数据库支持的少,不推荐 UTF-8*(推荐)不定长1-4互联网、linux、Mysql广泛支持 字符集选择: 1,多国家多语言UTF-8 2,数据库导入,先字符集要向下兼容 3,已中文为主,量大,有性能要求,推荐定长的GBK 4,已
2015-10-27 08:47:32 419 1
原创 第8章,数据类型
char vs varchar 1,长度变化不大,且有查询速度要求,优先char。 2,char会截取末尾的空格。 MyISAM:建议char替换varchar(MyISAM行数据本身是定长)。 InnoDB:建议varchar。1:采用指向数据列值的头指针,两个无异。2:又要性能因素是数据行使用的存储总量(平均来说,char>varchar)。 blob,text 会引起性删除造
2015-10-27 08:46:27 276
原创 Mysql函数大全
一、 控制流程函数 if(value,t,f) ifnull(value1,value2) value1不为空,返回value1,否则返回value2 case when[value1] then [result1] when [value2]... then [result2] else [default] end case [expr] when [value1] then [re
2015-10-26 09:31:38 477
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人