- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《MySQL基础及开发注意事项》.pptx
MySQL基础及开发注意事项;内容概要;数据类型使用原则;整数类型;字符类型;字符串函数
MySQL中字符串连接方法,使用CONCAT() 或CONCAT_ WS()函数,语法如下:
CONCAT(string1,string2,...)
CONCAT_ WS(separator,string1,string2,..)
字符串长度统计:
LENGTH(string) #返回string所占的字节数
CHAR_LENGTH(string) #返回string中的字符个数
统计字符个数,就不区分是汉字还是字母或数字,也跟字符集没有关系,若统计的是字节数,则由字符是汉字、字母或数字类型,以及字符集共同决定。
;日期类型;日期操作函数;类型转换;注意事项;注意事项;存储引擎;MyISAM ;MyISAM;InnoDB;InnoDB;InnoDB实现两种B+Tree索引,一种是列值为Key,主键位置为Value即 (列值, 主键位置) 的非主键索引(Secondary Index),另一种是主键索引,两种索引的每个叶子节点都有一个双向指针分别指向前驱和后继节点。
主键索引即聚集索引(Cluster Index),它不仅有主键,而且有主键所属的全部数据,所以在InnoDB中,主键索引即数据。
在InnoDB中,即使用户不指定主键,InnoDB也会生成一个隐含主键,这种情况下,InnoDB的性能比采用序列主键性能下降30%左右。;应用优化;Schema设计优化;索引优化;索引建立原则(二)
order by 字句中的字段,where 子句中字段,最常用的sql
语句中字段,应建立索引。
唯一性约束,系统将默认为改字段建立索引。
对于只是做查询用的数据库索引越多越好,但对于在线实时
系统建议控制在5个以内。
索引不仅能提高查询SQL性能,同时也可以提高带where字句
的update,Delete SQL性能。
Decimal 类型字段不要单独建立为索引,但覆盖索引可以包
含这些字段。
只有建立索引以后,表内的行才按照特地的顺序存储,按照
需要可以是asc或desc方式。
如果索引由多个字段组成将最用来查询过滤的字段放在前面
可能会有更好的性能。
;索引优化;SQL优化;
编写高效的 SQL (二)
不要在where 子句中的“=”左边进行算术或表达式运算,否则系统将
可能无法正确使用索引
尽量不要在where条件中使用函数,否则将不能使用索引
避免??用 select *, 只取需要的字段
对于大数据量的查询,尽量避免在SQL语句中使用order by 字句,避免
额为的开销,替代为使用ADO.NET 来实现。
如果插入的数据量很大,用select into 替代 insert into 能带来更好的性能
采用连接操作,避免过多的子查询,产生的CPU和IO开销
只关心需要的表和满足条件的数据
适当使用临时表或表变量
对于连续的数值,使用between代替in
where 字句中尽量不要使用CASE条件
尽量不用触发器,特别是在大数据表上;编写高效的 SQL (三)
更新触发器如果不是所有情况下都需要触发,应根据业务需要加
上必要判断条件
使用union all 操作代替OR操作,注意此时需要注意一点查询条
件可以使用聚集索引,如果是非聚集索引将起到相反的结果
?当只要一行数据时使用 LIMIT 1
尽可能的使用 NOT NULL填充数据库
拆分大的 DELETE 或 INSERT 语句
批量提交SQL语句
使用prepared statements 和参数绑定;如何高效的分页;注意事项:;复制功能;复制M-S原理;复制M-S-S原理;QA;谢 谢
文档评论(0)