随笔分类 - Mysql
摘要:1、硬件和操作系统层面的优化 硬件:cpu、内存、磁盘io、网络带宽操作系统:Linux、Windows(mysql最初就是基于linux系统开发的,所以mysql在linux系统上的稳定性和性能普遍比在windows系统上高很多。)应用文件句柄(ulimit -a open files)网络配置
阅读全文
摘要:MySQL索引是提高查询效率的重要工具。其中,type ref索引是一种比较常见的索引类型。本文将介绍type ref索引的原理及优化方法,帮助更好地使用MySQL索引。 一、type ref索引的原理 type ref索引是一种基于非唯一索引的查找方式。当MySQL使用非唯一索引进行查询时,会返回
阅读全文
摘要:使用First,Take,Last 进行单条查找,First根据主键正序,Last 根据主键倒序 Find查询结果是列表,First查询的是单条数据。 Raw 中文:原生的 作用:在写gorm语句时候用来写Raw sql语句(原生sql语句) 在使用Raw自定义SQL查询时,使用Scan来接收数据,
阅读全文
摘要:1、bigint默认是有符号,即取值范围是正负范围 比如:bigint(20),就是-1234567890123456789~+1234567890123456789 2、bigint unsigned无符号,即取值范围就是正值范围 比如:bigint(20),就是+1234567890123456
阅读全文
摘要:报错原因:值超出列的范围 可能原因: 原因1:值超出其可输入的范围。 解决方法: 1、把该字段INT类型修改为BIGINT,或者改成其他数据类型。 2、检查是否有符号 有符号数据类型表示该列可以存储正整数和负整数值。这是 MySQL 中大多数整数类型的默认类型。因此,除非明确指定,否则任何整数类型列
阅读全文
摘要:安全模式 在mysql中,如果在update和delete没有加上where条件,数据将会全部修改。不只是初识mysql的开发者会遇到这个问题,有经验的工程师难免也会忘记写入where条件。 为了避免失误造成的数据全部修改和删除,通过配置sql_safe_updates可开启mysql的安全模式。
阅读全文
摘要:报错原因:实际连接数超过了mysql 允许的最大连接数【默认连接数是151】,访问量过高,MySQL服务器抗不住。 查看当前最大连接数 show variables like '%max_connections%'; 解决办法:1、修改max_connections Windows环境下找到mysq
阅读全文
摘要:在同一台机器上运行两个 MySQL 服务是可行的,但需要注意以下几点: 确保端口号不冲突。每个 MySQL 服务都需要监听一个独立的端口,以便客户端可以连接到正确的服务。 配置文件的区分。每个 MySQL 实例需要有自己独立的配置文件,包括数据存储路径、日志文件路径等信息。 确保资源充足。运行多个
阅读全文
摘要:场景:查询时报错 err {"error": "sql: Scan error on column index 0, name \"mobile\": converting NULL to string is unsupported"} 总结: 根据项目需要,在数据库查询时,可能需要对查询结果进行封
阅读全文
摘要:// 如果单个属性被更改了,更新它db.Model(&user).Update("name", "hello")//// UPDATE users SET name='hello', updated_at='2013-11-17 21:34:10' WHERE id=111; // 使用组合条件更新
阅读全文
摘要:一、记录:在用order by排序时,发现结果与“逻辑” 不符合!!! SELECT ch FROM `test` ORDER BY ch DESC //降序 二、猜想:以为是ASCII的原因? 三、验证:数字0到9的ASCII码值分别为48到57,所以排除此原因。 四、启发:通过查资料 order
阅读全文
摘要:package main import ( "fmt" "gorm.io/driver/mysql" "gorm.io/gorm" ) type Product struct { gorm.Model Code string Price uint } func main() { dsn := "ro
阅读全文
摘要:1、新增持久化设置 MySQL8.0 新增 SET PERSIST 的命令,该命令的配置值保存到数据目录下的mysqld-auto.cnf文件中,待重启后,读取该文件,用其中的配置覆盖缺省的配置文件,补充了SET GLOBAL 命令只能临时生效的不足; 命令的使用: SET PERSIST max_
阅读全文
摘要:需求: 1、可以自定义每天什么时间来执行指令,进行备份数据库test到/home目录下(这个目录可以根据具体情况来自定义); 2、备份开始和备份结束能够给出相对应的提示信息; 3、备份后的文件要求以备份时间为文件名,并打包成.tar.gz 的形式,比如:2019-02-21.tar.gz; 4、在备
阅读全文
摘要:之前咱们学习过原生的Go连接MYSQL的方法,使用Go自带的"database/sql"数据库连接api,"github.com/go-sql-driver/mysql"MYSQL驱动,通过比较原生的写法去写sql和处理事务。目前开源界也有很多封装好的orm操作框架,帮我们简省一些重复的操作,提高代
阅读全文
摘要:背景 我们在业务场景中经常会碰到通过某个字符串查询对应记录的情况。比如常见的邮箱登录、手机号登录。如果不给它创建索引,则MySQL就会进行全局扫描,非常耗时。 那类似邮箱地址这样的字符串,我们应该如何给它创建索引呢? 这里简单介绍几种方法。 几种方法 比如我们有一张表user_info用于存储用户登
阅读全文
摘要:基于工具Navicat 一般项目中都会有测试数据库和生产数据库,测试数据库在平时开发过程中会经常变化,那么如何同步测试与生产数据库呢,可以利用Navicat的数据库结构同步功能:
阅读全文
摘要:索引方法:【按照实现的方式分类】一、B-Tree索引 B-Tree是最常见的索引类型,所有值(被索引的列)都是排过序的,每个叶节点到跟节点距离相等。所以B-Tree适合用来查找某一范围内的数据,而且可以直接支持数据排序(ORDER BY)B-Tree在MyISAM里的形式和Innodb稍有不同:My
阅读全文
摘要:前缀索引的优劣 很多情况下,我们需要根据一个长字符串类型的字段去查找记录,比如身份证、邮箱,为了避免全表扫描,就需要为字符串字段添加索引。由于Mysql支持前缀索引,所以我们可以选择将整个字段添加索引,或者只将前一部分的字符串加上索引: #整个字段alter table T add index in
阅读全文
摘要:在这篇文章开始之前,我们需要注意一下,并不是索引越多越好,索引是一种以空间换取时间的方式,所以建立索引是要消耗一定的空间,况且在索引的维护上也会消耗资源。 数据库建立索引的常用规则如下: 1.表的主键和外键建立索引【主键具有唯一性,索引值也是有唯一,查询时可以快速定位到数据行;外键一般关联的是另一个
阅读全文
浙公网安备 33010602011771号