MySQL 数据库牛 彩源码下载设计总结

牛彩源码下载联系方式:QQ:2747044651网址请添加链接描述注意:MyISAM存储引擎 B-tree索引有一个很大的限制:参与一个索引的所有字段的长度之和不能超过1000字节。另外MyISAM数据和索引是分开,而InnoDB的数据存储是按聚簇(cluster)索引有序排列的,主键是默认的聚簇(cluster)索引,因此MyISAM虽然在一般情况下,查询性能比InnoDB高,但InnoDB的以主键为条件的查询性能是非常高的。

规则2:命名规则。

数据库和表名应尽可能和所服务的业务模块名一致
服务与同一个子模块的一类表应尽量以子模块名(或部分单词)为前缀或后缀
表名应尽量包含与所存放数据对应的单词
字段名称也应尽量保持和实际数据相对应
联合索引名称应尽量包含所有索引键字段名或缩写,且各字段名在索引名中的顺序应与索引键在索引中的索引顺序一致,并尽量包含一个类似idx的前缀或后缀,以表明期对象类型是索引。
约束等其他对象也应该尽可能包含所属表或其他对象的名称,以表明各自的关系
规则3:数据库字段类型定义

经常需要计算和排序等消耗CPU的字段,应该尽量选择更为迅速的字段,如用TIMESTAMP(4个字节,最小值1970-01-01 00:00:00)代替Datetime(8个字节,最小值1001-01-01 00:00:00),通过整型替代浮点型和字符型
变长字段使用varchar,不要使用char
对于二进制多媒体数据,流水队列数据(如日志),超大文本数据不要放在数据库字段中
规则4:业务逻辑执行过程必须读到的表中必须要有初始的值。避免业务读出为负或无穷大的值导致程序失败

规则5:并不需要一定遵守范式理论,适度的冗余,让Query尽量减少Join

规则6:访问频率较低的大字段拆分出数据表。有些大字段占用空间多,访问频率较其他字段明显要少很多,这种情况进行拆分,频繁的查询中就不需要读取大字段,造成IO资源的浪费。

规则7:大表可以考虑水平拆分。大表影响查询效率,根据业务特性有很多拆分方式,像根据时间递增的数据,可以根据时间来分。以id划分的数据,可根据id%数据库个数的方式来拆分。

一.数据库索引
规则8:业务需要的相关索引是根据实际的设计所构造sql语句的where条件来确定的,业务不需要的不要建索引,不允许在联合索引(或主键)中存在多于的字段。特别是该字段根本不会在条件语句中出现。

规则9:唯一确定一条记录的一个字段或多个字段要建立主键或者唯一索引,不能唯一确定一条记录,为了提高查询效率建普通索引

规则10:业务使用的表,有些记录数很少,甚至只有一条记录,为了约束的需要,也要建立索引或者设置主键。

规则11:对于取值不能重复,经常作为查询条件的字段,应该建唯一索引(主键默认唯一索引),并且将查询条件中该字段的条件置于第一个位置。没有必要再建立与该字段有关的联合索引。

规则12:对于经常查询的字段,其值不唯一,也应该考虑建立普通索引,查询语句中该字段条件置于第一个位置,对联合索引处理的方法同样。

规则13:业务通过不唯一索引访问数据时,需要考虑通过该索引值返回的记录稠密度,原则上可能的稠密度最大不能高于0.2,如果稠密度太大,则不合适建立索引了。

当通过这个索引查找得到的数据量占到表内所有数据的20%以上时,则需要考虑建立该索引的代价,同时由于索引扫描产生的都是随机I/O,生其效率比全表顺序扫描的顺序I/O低很多。数据库系统优化query的时候有可能不会用到这个索引。

规则14:需要联合索引(或联合主键)的数据库要注意索引的顺序。SQL语句中的匹配条件也要跟索引的顺序保持一致。

原文地址:http://blog.51cto.com/13930754/2161838

时间: 2024-11-09 17:05:34

MySQL 数据库牛 彩源码下载设计总结的相关文章

腾讯云分布式牛 彩源码下载高可靠消息队列 CMQ 架构

牛彩源码下载联系方式:QQ:2747044651 网页在分布式大行其道的今天,我们在系统内部.平台之间广泛运用消息中间件进行数据交换及解耦.CMQ是腾讯云内部自研基于的高可靠.强一致.可扩展分布式消息队列,在腾讯内部包括微信手机QQ业务红包.腾讯话费充值.广告订单等都有广泛使用.目前已上线腾讯云对外开放,本文对腾讯云CMQ 核心技术原理进行分享介绍. CMQ消息队列主要适用于金融.交易.订单等对可靠性.可用性有较高要求的业务场景. 以腾讯充值系统为例,该充值系统通过CMQ 对交易模块.发货部分.

杏彩源码下载(龙虎和+手机)

杏彩源码下载(龙虎和+手机)http://hubawl.com/thread-245-1-1.html .配置两个不同的数据源,如下(由于项目使用的是druid数据库连接,配置可以会复杂点比较): [html] view plain copy [html] view plain copy 2.定义一个类继承AbstractRoutingDataSource实现determineCurrentLookupKey方法,该方法可以实现数据库的动态切换,如下: [java] view plain cop

如何使用私有分 分彩源码下载网络部署全球同服游戏服务

近年来,分 分彩源码下载联系方式:QQ:2747044651 网址随着移动互联网技术和全球社交化的发展,全球同服的玩法越来越受到游戏玩家的喜爱,最火爆的如<皇室战争>自16年3月份发布来便长期霸榜,支持全球同服的游戏架构在知乎上一度引起热议,面对国内各游戏厂家出海和全球运营需求,腾讯云利用分布在全球的云基础设施和互联的VPC网络为游戏服务的全球部署提供了一套完整解决方案. 通常而言,全球同服的游戏架构都具有以下几个特点: 核心数据集中部署:用户账号数据.游戏核心数据.排行榜等全局类数据一般集中

Linux下TCP延迟重庆时 时 彩源码下载确认(Delayed Ack)机制导致的时延问题分析

重庆时 时 彩下载联系方式:QQ:2747044651 网址在实际测试中发现,当N大于等于3的情况,第2秒之后,每次第三个recv调用,总会阻塞40毫秒左右,但在分析Server端日志时,发现所有请求在Server端处理时耗均在2ms以下. 当时的具体定位过程如下:先试图用strace跟踪客户端进程,但奇怪的是:一旦strace attach上进程,所有收发又都正常,不会有阻塞现象,一旦退出strace,问题重现.经同事提醒,很可能是strace改变了程序或系统的某些东西(这个问题现在也还没搞清

简单记录下mysql计划OA开心乐园源码下载任务创建

有时候我们在OA开心乐园源码下载联系方式:QQ:2747044651 网址http://zhengtuwl.com 程序中需要定时进行一项数据操作,这时我们可以使用线程来满足需求.另外在mysql中有一个功能叫做event,可以定时执行指定数据操作. 二.创建过程如下: CREATE EVENT IF NOT EXISTS sysYipsEventON SCHEDULE EVERY 30 SECONDON COMPLETION PRESERVEDO CALL sys_tips_distribut

mysql数据库5.6 源码安装

今天 看一马哥视频 写点东东 mysql 安装配置 通用二进制包 直接解压配置使用 wget  https://downloads.mariadb.com/archives/mysql-5.5/mysql-5.5.39-linux2.6-x86_64.tar.gz #yum install libaio mysql-5.5.39-linux2.6-x86_64.tar.gz 解压缩  tar -xf mysql-5.5.39-linux2.6-x86_64.tar.gz -C /usr/loca

原版乐彩源码分享,最新php+mysql时时平台带开奖器和数据库

原版乐彩源码分享,最新php+mysql时时平台带开奖器和数据库,给有需要的朋友.<ignore_js_op> <ignore_js_op>   本人提供一站式服务:联系QQ:2 3 6 0 2 4 8666(私聊)

mysql+ssh整合例子,附源码下载

项目引用jar下载:http://download.csdn.net/detail/adam_zs/7262727 项目源码下载地址:http://download.csdn.net/detail/adam_zs/7262749 今天花时间把ssh整合了一下,重新再学习一下,希望对大家有所帮助! 我用的是mysql数据库,建表语句比较简单就不贴出来了,建表的时候记的设置id为自动增加哦. 项目文件位置,项目引用jar包 项目配置文件 web.xml <?xml version="1.0&q

mysql环境下分分彩源码搭建的操作

首先打开分分彩源码搭建数据库(Linux):service mysql start(关闭数据库 service mysql stop)企 娥:217 1793 408window下:net start mysql 然后输入密码:mysql -uroot -p密码 进入mysql后开始操作1.数据库的相关操作 查看所有的数据库 show databases;创建数据库 create database 数据库名;删除数据库 drop database 数据库名:mysql数据库的名称在黑窗口下是无法