核心军规 尽量不在数据库做运算 控制单表数据量 纯INT不超过10M条,含Char不超过5M条 保持表身段苗条 平衡范式和冗余 拒绝大SQL,复杂事务,大批量任务 字段类军规 用好数值字段,尽量简化字段位数...把字符转化为数字 优先使用Enum或Set 避免使用Null字段 少用并拆封Text/Blob 不在数据库中存图片 索引类军规 谨慎合理添加索引 字符字段必须建立前缀索引?...数据库的字符集,要用 utf8mb4,而不是utf8。...因为MySQL的utf8不是真正的UTF-8,只支持最多三个字节的字符。真正的UTF-8可能会出现四个字节的字符。...MySQL 从来没有修复这个 Bug,而是使用另外的解决方法:真正的UTF-8字符集用 utf8mb4的名字提供。
所有的数据库对象名称必须使用小写字母并用下划线分割(MySQL大小写敏感,名称要见名知意,最好不超过32字符) 所有的数据库对象名称禁止使用MySQL保留关键字(如 desc、range、match...、delayed 等,请参考 MySQL官方保留字 【https://dev.mysql.com/doc/refman/5.7/en/keywords.html】 ) 临时库表必须以tmp为前缀并以日期为后缀...,从一开始就进行数据字典的维护 尽量控制单表数据量的大小在500w以内,超过500w可以使用历史数据归档,分库分表来实现(500万行并不是MySQL数据库的限制。...禁止从开发环境,测试环境直接连生产环境数据库 限制每张表上的索引数量,建议单表索引不超过5个(索引会增加查询效率,但是会降低插入和更新的速度) 避免建立冗余索引和重复索引(冗余:index...在代码中写分页查询逻辑时,若 count 为 0 应直接返回,避免执行后面的分页语句 ---- 参考: 《阿里巴巴Java开发手册》 《高性能可扩展MySQL数据库设计及架构优化》
9.避免使用存储过程、触发器、函数等,这些特性会将业务逻辑与数据库耦合在一起,并且MySQL的存储过程,触发器,函数中可能存在bug。 10.尽量避免使用子查询,连接。...11.使用合理的sql语句以减少与数据库的交互次数。 12.建议使用合理的分页技术以提高操作效率。...type =ALL Full Table Scan 全表查询 key =NULL 未使用索引 rows = 7 10数据库中所有记录 extra = Using where ,最终使用where 做结果集过滤...type =ALL Full Table Scan 全表查询 key =NULL 未使用索引 rows = 7 10数据库中所有记录 extra = Using where ,最终使用where 做结果集过滤...当然上述演示比较简单,也不是非常具备实战色彩,对于explain的使用,我们还应在更多的数据库操作场景中多多使用,这是sql调优的利器。
MySQL数据库 在网站开发中,数据库是网站的重要组成部分。只有提供数据库,数据才能够动态的展示,而不是在网页中显示一个静态的页面。...MySQL数据库安装: 在MySQL的官网下载MySQL数据库安装文件:https://dev.mysql.com/downloads/windows/installer/5.7.html。...navicat数据库操作软件: 安装完MySQL数据库以后,就可以使用MySQL提供的终端客户端软件来操作数据库。...常见MySQL驱动介绍: MySQL-python:也就是MySQLdb。是对C语言操作MySQL数据库的一个简单封装。遵循了Python DB API v2。...MySQL Connector/Python:MySQL官方推出的使用纯Python连接MySQL的驱动。因为是纯Python开发的。效率不高。
项目结构: http://www.cnblogs.com/hongten/gallery/image/112450.html 数据库表: http://www.cnblogs.com/hongten/gallery...org.apache.commons.dbcp.BasicDataSource" 12 destroy-method="close"> 13 mysql.Driver..." /> 14 <property name="url" 15 value="jdbc:mysql://localhost:3307/spring?...女 当然我们可以用配置文件来存放我们的数据源信息: /spring_1100_spring+jdbc/src/jdbc.properties 1 driverClassName=org.gjt.mm.mysql.Driver...2 url=jdbc\:mysql\://localhost\:3307/spring?
如果你还没有准备好开发环境,你不妨花上一小点时间去看看:python开发_mysqldb安装 本篇blog是有关python操作mysql数据的相关内容。 我做了一个demo: 先看运行效果: ?...mysql中情况: ?...=================================================== 1 # -*- coding: utf-8 -*- 2 #python operate mysql...database 3 import MySQLdb 4 5 #数据库名称 6 DATABASE_NAME = '' 7 #host = 'localhost' or '172.0.0.1...' 8 HOST = '' 9 #端口号 10 PORT = '' 11 #用户名称 12 USER_NAME = '' 13 #数据库密码 14 PASSWORD = '' 15
操作 MysQL 数据库 3.1 创建数据库 3.2 选择数据库 3.3 查看数据库 3.4 删除数据库 4. 数据类型 5....操作 MySQL 数据表记录 6.1 添加数据 6.2 查询、修改、删除 learning from 《python web开发从入门到精通》 1....简介 MySQL 是目前最为流行的开源数据库,网络化、跨平台的关系型数据库 特点:功能强大(多种引擎),跨平台,速度快(B树磁盘表+索引压缩),免费,支持多种语言,存储容量大(由外部操作系统对文件大小的限制决定...操作 MysQL 数据库 3.1 创建数据库 create database DBname; mysql> create database michaeldata; Query OK, 1 row affected...| michaeldata | +-------------+ 1 row in set (0.00 sec) 3.3 查看数据库 show databases;已经存在的数据库 mysql> show
MySQL数据库开发的 36 条军规 标签:数据库 核心军规(5个) 尽量不在数据库做运算。 控制单表数量:行不超过500W条,超出分表;列不超过50个,超过拆表。...NULL(NULL字段很难查询优化、NULL字段的索引需要额外空间、NULL字段的复合索引无效) 尽量少用text/blob类型(尽量使用varchar代替text字段),需要的时候请拆表 不在数据库存图片...limit高效分页(limit越大,效率越低) limit 10000,10 改为 where id >xxx limit 11 使用union all替代union(union有去重开销) 发生高并发时,数据库少用两个表以上的...避免转换导致索引丢失) 使用 LOAD DATA 导入命令比 insert 速度快20倍左右(适合导入大量测试数据) 打散大批量更新(例如:在凌晨空闲时期更新执行) 约定类军规(4个) 隔离线上线下(开发用
操作数据库 Django配置连接数据库: 在操作数据库之前,首先先要连接数据库。这里我们以配置MySQL为例来讲解。Django连接数据库,不需要单独的创建一个连接对象。...示例代码如下: DATABASES = { 'default': { # 数据库引擎(是mysql还是oracle等) 'ENGINE': 'django.db.backends.mysql...', # 数据库的名字 'NAME': 'dfz', # 连接mysql数据库的用户名 'USER': 'root', #...连接mysql数据库的密码 'PASSWORD': 'root', # mysql数据库的主机地址 'HOST': '127.0.0.1',...# mysql数据库的端口号 'PORT': '3306', } } 在Django中操作数据库: 在Django中操作数据库有两种方式。
来自:www.slideshare.net/mysqlops/mysql-9838563 来自一线的实战经验,主要针对DBA和后端开发人员,总是在灾难发生后,才想起容灾的重要性;总是在吃过亏后,才记得曾经有人提醒过...核心军规 尽量不在数据库做运算 控制单表数据量 纯INT不超过10M条,含Char不超过5M条 保持表身段苗条 平衡范式和冗余 拒绝大SQL,复杂事务,大批量任务 字段类军规 用好数值字段,尽量简化字段位数...把字符转化为数字 优先使用Enum或Set 避免使用Null字段 少用并拆封Text/Blob 不在数据库中存图片 索引类军规 谨慎合理添加索引 字符字段必须建立前缀索引?
正文 1、(单选)MySQL字符集不包括下面哪一层含义: A.字符的编码规则 B.字符的比较规则 C.文字符号的集合 D.图像符号的集合 解析: A、编码也属于字符集。 ...B、比较规则和字符集是独立的,一套字符集可以对应多套比较规则 D、字符集指所有能存储在mysql的符号和编码,包含文字、图像等。...,下列说法正确的是: A.JDBC Statement必须及时关闭,因为数据库端也会维持一块内存区域存储Statement的状态变量。...4、(单选)python连接MySQL数据库的特点不包括: A.无需显示的关闭连接,程序会自动释放资源 B.可以通过excutemany()方法一次插入多条记录 C.可以通过fetchone()或者fetchmany...A.使用绑定变量(参数化) B.使用JDBC C.加强数据库的用户权限 D.对提交的变量进行格式化 9、(多选)JDBC驱动程序的作用有: A.按照数据库的通信协议建立到数据库的连接 B.解析sql语句语法
作者:cyfonly 来源: https://www.cnblogs.com/cyfonly/p/5616536.html MySQL数据库是被广泛应用的关系型数据库,其体积小、支持多处理器、开源并免费的特性使其在...恰巧就在前几天,本人所在公司的云事业部举办了一场关于 mysql 的技术交流会,其中一个 part 正是聚焦于开发过程中 mysql 数据库设计及使用的常见问题,并提出相关优化方案。...使用 mysql 插件式存储引擎体系结构,允许数据库专业人员或者设计库表的软件开发人员为特定的应用需求选择专门的存储引擎,完全不需要管理任何特殊的应用编码要求,也无需考虑所有的底层实施细节。...滥用索引将导致写请求变慢,拖慢整体数据库的响应速度(5.5 以下的 mysql 只能用到一个索引)。 从不考虑联合索引。实际上联合索引的效率往往要比单列索引的效率更高。 非最优列选择。...对于重要数据(如资金)的操作,在开发时一定要反复进行测试,确保没有问题后再上线。 ▼推荐阅读▼ MySQL索引优化分析 单点登录(SSO)看这一篇就够了 项目中至少提高3倍的19条MySQL优化
mysql 数据库是被广泛应用的关系型数据库,其体积小、支持多处理器、开源并免费的特性使其在 Internet 中小型网站中的使用率尤其高。...恰巧就在前几天,本人所在公司的云事业部举办了一场关于 mysql 的技术交流会,其中一个 part 正是聚焦于开发过程中 mysql 数据库设计及使用的常见问题,并提出相关优化方案。...使用 mysql 插件式存储引擎体系结构,允许数据库专业人员或者设计库表的软件开发人员为特定的应用需求选择专门的存储引擎,完全不需要管理任何特殊的应用编码要求,也无需考虑所有的底层实施细节。...滥用索引将导致写请求变慢,拖慢整体数据库的响应速度(5.5 以下的 mysql 只能用到一个索引)。 从不考虑联合索引。实际上联合索引的效率往往要比单列索引的效率更高。 非最优列选择。...对于重要数据(如资金)的操作,在开发时一定要反复进行测试,确保没有问题后再上线。
原文:https://mp.weixin.qq.com/s/SURmi4cGBjfEfn7JsrZZLA mysql 数据库是被广泛应用的关系型数据库,其体积小、支持多处理器、开源并免费的特性使其在 Internet...恰巧就在前几天,本人所在公司的云事业部举办了一场关于 mysql 的技术交流会,其中一个 part 正是聚焦于开发过程中 mysql 数据库设计及使用的常见问题,并提出相关优化方案。...使用 mysql 插件式存储引擎体系结构,允许数据库专业人员或者设计库表的软件开发人员为特定的应用需求选择专门的存储引擎,完全不需要管理任何特殊的应用编码要求,也无需考虑所有的底层实施细节。...滥用索引将导致写请求变慢,拖慢整体数据库的响应速度(5.5 以下的 mysql 只能用到一个索引)。 从不考虑联合索引。实际上联合索引的效率往往要比单列索引的效率更高。 非最优列选择。...对于重要数据(如资金)的操作,在开发时一定要反复进行测试,确保没有问题后再上线。 如有侵权,请及时联系
数据库设计规范 命名规范 基本设计规范 索引设计规范 字段设计规范 SQL开发规范 操作行为规范 命名规范 对象名称使用小写字母并用下划线分割 禁止使用MySQL保留关键字 见名识义,最好不超过32个字符...(不是MySQL的限制,是经验值) 处理方式:历史数据归档、分库分表 谨慎使用MySQL分区表 分区表:在物理上表现为多个文件,在逻辑上表现为一个表 问题:谨慎选择分区键,跨分区查询效率可能更低 建议:...修改预留字段比增加还麻烦,涉及对表的锁定 禁止在数据库中存储图片,文件等二进制数据 禁止在线上做数据库压力测试 禁止从开发或测试环境直接连接生产环境数据库 索引设计规范 限制每张表的索引数量,建议单表索引不超过...不要用字符串存储日期类型(无法利用内置日期函数而且占用更多空间) 涉及财务的金额,必须用 DECIMAL类型 精确浮点,计算不会丢失精度 占用空间由定义的宽度决定 可用于存储比 BIGINT更大的整数数据 SQL开发规范...只需要查询就别给其他操作权限 数据库账号只能在同一个DB下使用,不允许跨库 程序的账号原则上不允许有drop权限 参考 高性能可扩展MySQL数据库设计及架构优化,sqlercn,https://coding.imooc.com
作者:cyfonly 出处:cnblogs.com/cyfonly/p/5616536.htmll mysql 数据库是被广泛应用的关系型数据库,其体积小、支持多处理器、开源并免费的特性使其在 Internet...恰巧就在前几天,本人所在公司的云事业部举办了一场关于 mysql 的技术交流会,其中一个 part 正是聚焦于开发过程中 mysql 数据库设计及使用的常见问题,并提出相关优化方案。...使用 mysql 插件式存储引擎体系结构,允许数据库专业人员或者设计库表的软件开发人员为特定的应用需求选择专门的存储引擎,完全不需要管理任何特殊的应用编码要求,也无需考虑所有的底层实施细节。...滥用索引将导致写请求变慢,拖慢整体数据库的响应速度(5.5 以下的 mysql 只能用到一个索引)。 从不考虑联合索引。实际上联合索引的效率往往要比单列索引的效率更高。 非最优列选择。...对于重要数据(如资金)的操作,在开发时一定要反复进行测试,确保没有问题后再上线。
Swoole MySQL Proxy 一个基于 MySQL 协议,Swoole 开发的MySQL数据库连接池。...原理 将数据库连接作为对象存储在内存中,当用户需要访问数据库时,首次会建立连接,后面并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。...特性 支持读写分离 支持数据库连接池,能够有效解决 PHP 带来的数据库连接瓶颈 支持 SQL92 标准 采用协程调度 支持多个数据库连接,多个数据库,多个用户,灵活搭配 遵守 MySQL 原生协议,跨语言...,跨平台的通用中间件代理 支持 MySQL 事务 支持 HandshakeV10 协议版本 完美兼容 MySQL4.1 - 8.0 兼容各大框架,无缝提升性能 设计初衷 PHP 没有连接池,所以高并发时数据库会出现连接打满的情况...,Mycat 等数据库中间件会出现部分 SQL 无法使用,例如不支持批量添加等,而且过于臃肿。
领取专属 10元无门槛券
手把手带您无忧上云