mysql中数据类型优化
基本原则 更小的通常更好 简单就好(内置类型) 尽量避免null 常见的类型 VARCHAR 使用额外的1-2个字节记录字符串的长度 枚举类型代替字符串类型 日期和时间类型 IP地址,无符号整数 关联条件中的列使用相同的数据类型 范式和反范式 在范式化数据库中,每个事实数据会出现并且只会出现一次 在反范式化数据库中,信息是冗余的,可能会存储在多个地方 版权声明:本文为u013421874原创文章,…
基本原则 更小的通常更好 简单就好(内置类型) 尽量避免null 常见的类型 VARCHAR 使用额外的1-2个字节记录字符串的长度 枚举类型代替字符串类型 日期和时间类型 IP地址,无符号整数 关联条件中的列使用相同的数据类型 范式和反范式 在范式化数据库中,每个事实数据会出现并且只会出现一次 在反范式化数据库中,信息是冗余的,可能会存储在多个地方 版权声明:本文为u013421874原创文章,…
作为经常使用MySQL数据库的人,不得不对MySQL的数据库引擎有一定的了解,在之前我也是只会使用MySQL,但两次的面试中都被面试官问及项目用到的数据库引擎(血与泪),因此,有必要写一篇文章,好好总结一下MySQL的数据库引擎。 1. 数据库引擎定义 数据库引擎是数据库用于存储、处理和保护数据的核心服务,不同的数据库引擎有其各自的特点,如存储机制、索引技巧、主键的处理、锁的粒度等特点便随着引擎的…
MySQL导入问题: 报错1067 - Invalid default value for 字段名 由于数据库版本升级,老数据库的数据文件导出以后,在新版本的数据库上执行会报错 这种问题多是由于默认值不兼容引起的,我们可以通过修改sql_mode来解决这个问题 由于我是docker部署的mysql,所以得在Liunx下来执行以下命令: docker ps ——查看docker运行的容器 (查看my…
为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存。这是提高性能最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。 这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。因为,我们某些查询语句会让MySQL不使用缓存。请看下面的示例: // 查…
执行顺序:先执行on and条件,再执行where条件 具体是:首先根据on and条件过滤出满足条件的右侧表记录,然后根据关联字段,左侧表再与过滤出的右侧表记录进行连接, 满足关联字段相等,则返回左侧表和右侧表字段信息;若不满足,则返回左侧表字段信息,右侧表字段则显示NULL。 连接出的结果则存入临时表中。最后where条件是对临时表中的数据进行过滤。 左连接:Left join,以左侧表为主,…
xml中sql语句如下: <insert id="batchAdd" parameterType="java.util.List"> insert into CW_PER_CON_TEMPLATES_COLS(ID, TEMPLATE_ID, CONDITON_NAME, LABEL_CODE, OPERATION, CONDITION_VALUE, SORT, SYSTEM_ID, …
如何在一台机器上(windows)安装两个MYSQL数据库 前言: 本地安装的是mysql-8.0.22版本,由于某个项目变更,需要将8.0版本降到5.6。但为了不影响其他项目运行使用,不得不在同一台机器上安装两个版本mysql。本机以mysql5.6.40、mysql8.0.22为例,讲述同一台机器上安装两个mysql数据库的具体操作步骤。具体如下: 官网下载安装包(解压版本) 下载地址: ht…
关键条目:ERROR 1045(28000): Access deniedforuser'root'@'localhost'(using password: YES) 这个错误1045(28000)的本质其实就是访问被拒绝,问题原因也很简单,就是用户密码不适用,也可以理解为用户或密码错误。 Access deniedforuser'root'@'localhost'是说登录账户‘root’host…
#windows下MySQL免安装版配置教程mysql-5.7.23-winx64.zip版本 上一篇我们讲了MySQL5.6.41免安装版的配置教程,5.7版本的MySQL的配置会有些许差异 #第一步:下载MySQL 官网下载 mysql-5.7.23-winx64.zip 这里我是以64位版本进行讲解的,如果需要32位版本,请从官网下载对应的32位版本。操作流程都是一样的。 下载需要的版本 不…