转自 刘智慧的文章

1.尽量不要在数据库做运算,复杂运算移到程序段cpu,竟可能简单运用mysql

2.控制单表数据量, 库表控制300---400,单表字段控制20---50个,单表1G或500W行

3.效率优先,提升性能,适当牺牲范式,加入冗余

4.拒绝大事务,大SQL,大批量

5.将字符转为数字更加高效,查询更快,占用空间越少

6.避免使用null,会是索引失效

7.尽量不要用text,blob的数据类型,不要存图片在数据库中

8.能不加索引尽量不加

9.不要用索引列数据进行数据运算,会索引失效,导致全表扫描

10.尽量不要用外键

11.尽可能少用触发器和存储过程

12.尽量不要用 select *,指定要查询的字段

13.改or 用 in  或union

14.避免负向查询(not 。。)  或%前缀的查询,导致 索引失效

15.count(*)开销大,少用

16.统一字符集 和 校对规则

17.统一命名规范

18.不要在程序段 对数据库显示加锁,因对数据库不可控,采用事务

19.mysql的子查询大部分性能较差

20.分解连接(内外连接),单表执行,保证高并发

mysql 准则 杂谈的更多相关文章

  1. mysql 查询优化杂谈

    一.把某些判断移动到应用层 我们需要在一张表里面删除某种类型的数据,大概的表结构类似这样: CREATE TABLE t ( id INT, tp ENUM ("t1", &quo ...

  2. <经验杂谈>Mysql中字符串处理的几种处理方法concat、concat_ws、group_concat

    Mysql中字符串处理的几种处理方法concat.concat_ws.group_concat以下详情: MySQL中concat函数使用方法:CONCAT(str1,str2,-) 返回结果为连接参 ...

  3. 19条MySQL优化准则

    1.EXPLAIN 做MySQL优化,我们要善用EXPLAIN查看SQL执行计划. 下面来个简单的示例,标注(1.2.3.4.5)我们要重点关注的数据: type列,连接类型.一个好的SQL语句至少要 ...

  4. mysql杂谈

    本文主要记录一些零碎知识点 1.mysql默认存储引擎变更InnoDB as Default Storage Engine从mysql-5.5.5开始,InnoDB作为默认存储引擎,InnoDB作为支 ...

  5. 【曹工杂谈】Mysql客户端上,时间为啥和本地差了整整13个小时,就离谱

    瞎扯一点非技术 本来今天上午就打算写的,结果中途被别的事吸引了注意力,公司和某保险公司合作推了一个医疗保险,让我们给父母买,然后我研究了半天条款:又想起来之前买的支付宝那个好医保,也买了两年多了,但是 ...

  6. MySQL 数据类型总结及选取准则

    整数 整数有 TINYINT, SMALLINT, MEDIUMINT, INT 和 BIGINT 类型. 占用    8          ,  16            24,          ...

  7. mysql 事务四要素杂谈

    事务四要素 对于数据库来说,并发性和准确性是数据库需要权衡的两个点. 类似于我们的应用系统,又要要性能还要要准确. 数据准确性这一条来说,最好的控制就是串行化,都别急,一个一个来.这样数据就没问题了. ...

  8. Mysql数据库表结构设计准则

    一:动静分离 解释:最好做好静态表和动态表的分离.这里解释一下静态表和动态表的含义,静态表:存储着一些固定不变的资源,比如城市/地区名/国家(静态表一定要使用缓存).动态表:一些频繁修改的表 二:关于 ...

  9. MySQL引擎、索引和优化(li)

    一.存储引擎 存储引擎,MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力.通过选择不同的技术 ...

随机推荐

  1. Nopi Excel导入

    http://download.csdn.net/detail/diaodiaop/7611721 using System.Collections.Generic; using System.Dat ...

  2. sqlserver 优化相关

    http://www.cnblogs.com/studyzy/archive/2008/11/24/1339772.html http://blog.csdn.net/dba_huangzj/arti ...

  3. sql server 查询出的结果集,拼接某一列赋值给一个变量

    现有表Area 如下: SELECT [Areaid] ,[Areaname] ,[Areapid] FROM [Northwind].[dbo].[Area] 查询结果如下图: 需求:用 “-“ ” ...

  4. C++编程技巧(长期更新)

    1.数组使用 int* p = new int[5](); // 数组新建并全部初始化为0 等价于: int* p; p = new int[5](); int* q = new int[5];    ...

  5. hibernate 和 jdbc 优缺点对比

    jdbc缺点: 1.编程繁琐,用的try和catch比较多 2.jdbc没有对数据做缓存 3.没有做到面向对象编程 4.sql语句的跨平台性很差 jdbc优点: 效率比较高 hibernate的优点: ...

  6. mysql innodb存储引擎和myisam引擎

    InnoDb存储引擎面向在线事务处理,其特点是行锁设计.支持外键.并支持Oricle似得非锁定读(所谓非锁定读是如果数据库实例读取的行正在进行更新或删除操作当前读取不会等待当前锁的释放而是读取当前行的 ...

  7. 2016-12-14 - SSH Tunnel

    2016-12-14 - SSH Tunnel ssh Network Topo Network Topo A: Internet sshd B: NAT sshd C: NAT B Create S ...

  8. 触发器实现对插入数据的字段更改 Oracle+SQL Server

    最近有个使用触发器实现对插入数据的某个列做更改的需求,因此整理了Oracle和SQL Server对于此类需求的触发器写法,本文仅提到了Insert触发器. 首先我们创建一张表: --创建Test表 ...

  9. Maven搭建struts2+spring+hibernate环境

    Maven搭建struts2+spring+hibernate环境(一) 本文简单的使用STS的自带的maven插件工具搭建ssh(struts2+spring+hibernate)开发环境,图文并茂 ...

  10. Algorithm 算法

    http://www.cnblogs.com/baiboy/category/723479.html 记下来,有空去看 随笔分类 - Algorithm   [项目总结]自然语言处理在现实生活中运用 ...