其实,在我的日常工作中经常能够遇到这个问题,这个问题通常来自客户的系统管理员或者是采购人员,原因基本有两个: 完全对数据库产品没有概念,不清楚对硬件的要求。...对MySQL数据库不熟悉,参照以往的商业数据库进行比较。 写下这篇文字回答一下这个问题,以供对MySQL数据库不熟悉的人员参考。 MySQL究竟有没有最低的硬件要求呢?...翻遍整个手册的内容你也找不到相关信息,除了MySQL NDB Cluster,但是NDB又和大家通常意识里的MySQL完全不同,因此你可以理解为MySQL对服务器的硬件没有最低要求。...这个一览表相当于从侧面提供了一个硬件最低要求,只要你的服务器能够正常安装使用所支持的操作系统,MySQL即可在服务器上运行。...换句话说,MySQL对硬件的要求非常低,不需要高大上的硬件支持,这也是MySQL流行起来的根本原因之一。
核心军规 尽量不在数据库做运算 控制单表数据量 纯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...(在多个表中的字段如user_id,它们类型必须一致) mysql5.5之前默认的存储的引擎是myisam,没有特殊要求,所有的表必须使用innodb(innodb好处支持失误,行级锁,高并发下性能更好...,从一开始就进行数据字典的维护 尽量控制单表数据量的大小在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调优的利器。
上层业务系统开发原则 这里指的业务系统,特指web层业务系统,不包括底层基础服务(比如商品中心等提供dubbo服务的系统)这类系统的特点是直接面向B端商家或者C端用户,很多时候需要用户登录,大多提供http...对于这类系统的开发,有一些通用的原则(或者叫必须知道的事情)需要大家关注,如果你不知道这些,那就不是一个合格的业务开发,需要反思!...这不仅仅是糊弄用户,更是坑自己和坑队友,为什么呢,用户一旦反馈问题,开发拿不到有用的出错信息,只能看日志看代码,如果碰巧日志缺失或者代码逻辑混乱,那就真的只能呵呵了!...所以性能上对终端用户的影响比较大,接口耗时哪怕增加几毫秒,用户感受到的耗时可能会被放大到几十甚至上百ms 正因为以上的特点,所以基础服务相对来说,对开发人员的代码水平要求也会更高,下面列举一些做基础服务开发时需要注意的事情...除此之外,还有其他很多需要住的点,比如 批量查询应该避免循环或者并发调用单个查询的方式来实现,尽可能走批量的实现(mget查缓存,批量查数据库等),不要嫌麻烦而复用一些不该复用的逻辑。
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
EJB/ORM -> DB .mxml .as ASpojo 接口的实现转换成真正JavaBean 业务处理 ORM 数据库...Inferface + Business Logic + EJB/ORM(Hibernate) + DB 数据的通讯和显示采用RemoteObject传输方式,包装对象进行传输,减少网络带宽,更加OO 二、要求
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 不在数据库中存图片 索引类军规 谨慎合理添加索引 字符字段必须建立前缀索引?
mysql外键约束有什么要求 1、在表上建立外键,主表应先存在。 2、一个表可以建立多个外键约束。 3、从表的外键列必须指向主表的主键列。...实例 mysql> show create table students\G *************************** 1. row ***************************...REFERENCES `class` (`xuehao`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 以上就是mysql...外键约束的要求,希望对大家有所帮助。...更多mysql学习指路:Mysql 推荐操作系统:windows7系统、mysql5.8、DELL G3电脑
正文 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语句语法
今天,我演讲的题目是《Web前端开发职业技术要求规划》。这个世界有很多不平凡的人,也有更多平凡的人,你是属于哪一种呢?...接下来,我将展开对Web前端开发职业技术要求规划主题内容讲解。 ? image.png 首先说说web开发前景怎样?...而web开发目前主要分为前端和后端两部分,后端指的是程序、数据库和服务器层面的开发,而前端指的是直接与用户接触的网页,网页上通常有HTML、CSS、JavaScript等内容。 ?...基本语法与高级编程、ES6 标准、数据库应用、项目模块化开发、各种复杂的交互与优化等知识和能力等模块。...image.png 1.深入浅出MySQL数据库:MySQL概念(了解),MySQL安装(掌握),MySQL范式(掌握),MySQL表结构管理(掌握、应用),MySQL用户管理(掌握、应用),MySQL
文章列出的技能点有的要求熟悉,有的了解即可,注意技能点前面的修饰词。如果没有明确给出“熟悉”“了解”等字眼,要求均为熟悉。...四、数据库 熟悉数据表结构设计(三范式、字段属性)。 了解查询优化(索引的概念与创建、sql优化)。...熟悉常见的mysql API函数: 1mysql_real_connect 2mysql_select_db 3mysql_query 4mysql_store_result 5mysql_free_result...6mysql_num_rows 7mysql_close 8mysql_errno 五、编程语言 C/C++方面 熟悉内存分布(堆、栈、静态/全局/局部变量、虚指针…) 熟悉Makefile。
作者: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 只能用到一个索引)。 从不考虑联合索引。实际上联合索引的效率往往要比单列索引的效率更高。 非最优列选择。...对于重要数据(如资金)的操作,在开发时一定要反复进行测试,确保没有问题后再上线。
领取专属 10元无门槛券
手把手带您无忧上云