
mysql数据库
不如喫茶去
Life is a journey, not a destination
展开
-
防止多人同时编辑的一个小方法
防止多人同时编辑的一个小方法。适用于公司内部系统少数人编辑同一条记录时的处理,若各位有更好更简单的思路,欢迎指教。原创 2022-10-13 10:42:32 · 1701 阅读 · 0 评论 -
事务的隔离级别和脏读、不可重复读、幻读
经常看到网上关于脏读一些问答,很少有回答的很全面的。因此参照网上的资料,做了下简单的总结[搬运了一些大佬的文章链接]。问题:存在两个事务,A事务更改数据在未提交之前,B事务能否读取到A修改过的数据?网上看到的答案说是不可以,也有说可以的。答案:真正的答案是可能读取的到,也可能读取不到。【真是这样,因为少了个大前提!】这是因为有个大的前提条件,就是事务的隔离级别!MySQL默认的事务隔离级别是可重复读,为啥?相关说明可以看下这篇文章:【原创】互联网项目中mysql应该选什么事务隔离级别 - .原创 2021-09-26 16:15:43 · 167 阅读 · 0 评论 -
Yii2中数据的特殊排序方法
开发时,经常遇到查询数据的排序问题。大部分排序很简单,“order by 字段 asc|desc” 即可,或者多字段排序。偶尔也会遇到特殊的排序,比如按照特定的顺序(如:按照1、3、4、2、5排)。在原生SQL中可以使用 ... + ORDER BY FIELD(`字段`,1,3,4,2,5) 进行排序。但是使用yii2框架中的model函数该怎么实现呢?需求:按照状态值为0、2 、1且创建时间正序排列。代码如下:$query = ListModel::find() .原创 2021-05-12 19:44:41 · 1122 阅读 · 0 评论 -
utf8_unicode_ci和utf8_general_ci、utf8和utf8mb4的区别
一直以来,都不是十分明了MySQL中utf8_unicode_ci和utf8_general_ci这两个排序规则的区别,因此查了下资料记录一下。※ utf8_unicode_ci和utf8_general_ci对于中、英文来说基本上没有什么差别,但是如果有用到俄语、法语、德语,就一定要使用utf8_unicode_ci。两者的直观对比:utf8_general_ci校对速度快,但准确度稍差(一般的开发中忽略不计,还是要以速度为首选),一般就选用这个就可以了。utf8_unicode_ci准.原创 2020-05-14 11:01:40 · 1329 阅读 · 1 评论 -
MySql分区、分库分表、主从复制总结
最近面试经常被问到mysql的高可用的相关问题,分区、分库分表、主从复制被问起的最多,所以参考资料做一个总结。分区操作:工作原理:对用户来说,分区表是一个独立的逻辑链表,但底层的MySQL将其分成了多个物理子表(用户看来是一个整表,但每一个分区表都会使用一个独立的表文件)。分区后,对代码上来说是无感知的,代码该怎么写就怎么写,不用做特定的改变。执行查询的时候,优化器会根据分区定义(年龄...原创 2020-04-06 18:37:45 · 412 阅读 · 0 评论 -
SQL开发常见问题优化
前几天听了公司一位DB前辈的讲解,很受用。此文参照前辈(baoyongfei)的讲解。讲的很基础,适合大部分人参考。此文讲解的都是基础的,也是很多开发最容易忽略的部分。理解错误之处,望指出。分为三部分内容:基本规范、数据库连接注意点、性能提升。一、基本规范:对于的查询语句,输出字段(不算子查询):输出字段越多,对CPU的消耗就会增多;输出字段越多,网络传输的代价更大;输出字段越...原创 2019-06-12 13:36:37 · 725 阅读 · 0 评论 -
MySQL索引:必须了解的知识点
最近由于“噶韭菜市场”行情逐渐向好,公司数据量较大。写了几个处理数据的脚本,经简单统计要查询的数据有1千多万条,需要操作的数据有56万条左右。因此代码及sql需要做优化,用到索引,发现自己对其了解并不深刻,花费几小时时间,又看了下相关文章,并加以整理方便以后查阅。觉的内容过多,看不下去?那先来个总结:是否建索引?对于小型表或报表查询处理大多数或所有行的大型表的查询,索引不太重要。当查...原创 2019-03-16 17:09:14 · 835 阅读 · 0 评论 -
对数据库查询全部记录的思考
如果你的服务器内存够大,够强悍,可以使劲造,那就不用继续往下看了。如果不能可劲造,那么可以看下这篇文章,可能对你有所帮助。我不建议使用查询全部记录的语句(比如pdo中的fetchAll方法)。不是完全不使用,主要还是根据数据量的大小来判断是否可以使用。但是往往用的习惯了,就会一直用下去,往往忽略了数据量的问题,特别是刚刚入行的程序员。先来看下下面这个代码,很正常的一段从数据库取数据的查询语...原创 2018-12-30 15:10:16 · 728 阅读 · 0 评论 -
on duplicate key update 的用法及优缺点
项目中数据的操作有时候会令人头大,遇到一个需求:需要将数据从A数据库的a数据表同步到B数据库的b数据表中(ab表结构相同,但不是主从关系。。。just同步过去)第一次同步过去,b表为空,同步很简单。但是当a表中的某些数据更新且增加了新数据之后,再想让两个表同步就有些麻烦了。(如果把b表清空,重新同步,数据量过大的话耗费的时间太长,不是一个好办法)想着能不能按照时间段来做更新,这段时...原创 2018-11-30 17:27:08 · 16895 阅读 · 3 评论 -
linux备份MySQL数据库
近期备份一个数据库,用数据库管理工具备份总是失败,最后发现此数据库实在是略大,数据表中存的数据过多造成...工具备份不了,那就在linux中备份,然后通过ftp下载下来。完成任务~~~只需用一个命令:mysqldump格式为:::mysqldump -u [用户名] -p -d [databaseName] [tableName] >[路径及导出的sql文件名];下面是几种原创 2018-01-25 17:02:46 · 370 阅读 · 0 评论 -
微擎:mysql数据库中的所有字段打印出来为string类型
最近碰到一个问题,数据库中的字段用var_dump打印出来后,类型为int的字段或者其他类型的字段打印之后都变为string类型。因为涉及积分变动、余额等,这些字段必须保持为int和浮点型、然后加减。经过查询发现PHP取出的mysql数据默认都会转换为string,这是PHP语言设计的原因。但是在我本地windows环境下写的测试文件,用var_dump()函数打印出来的字段类型和数据原创 2018-01-11 16:56:33 · 2174 阅读 · 0 评论 -
PHP+Mysql模拟队列
好久没有更新博客了,最近偷懒了。。。。。。 最近工作上需要做一个小应用,需要实现10万用户量的接口请求,一次性foreach执行肯定是不可取,也万万取不得的(我们这服务器太渣)。然后,就需要队列的方式来干了,由于本菜鸟对Redis的了解不深,且还没用过……(主要原因)原创 2017-11-22 18:41:46 · 885 阅读 · 0 评论 -
细说mysql索引
本文从如何建立mysql索引以及介绍mysql的索引类型,再讲mysql索引的利与弊,以及建立索引时需要注意的地方首先:先假设有一张表,表的数据有10W条数据,其中有一条数据是nickname='css',如果要拿这条数据的话需要些的sql是 SELECT * FROM award WHERE nickname = 'css'一般情况下,在没有建立索引的时候,mysql需要扫描全表及扫描1转载 2017-10-19 16:14:04 · 196 阅读 · 0 评论 -
Mysql添加索引(phpMyadmin)
1.使用sql语句1.1 创建索引[sql] view plain copyprint?CREATE INDEX indexName ON mytable(username(length)); CREATE INDEX indexName ON mytable(username(length));1.2删除索引[转载 2017-10-19 15:54:18 · 2586 阅读 · 0 评论 -
PDO 的事务处理
事务处理具有四个特性:原子性、一致性、独立性、持久性。 并不是所有的数据库都支持事务处理的,PDO 为能够执行事务处理的数据库提供事务支持。 配置事务处理需注意: 1、关闭 PDO 的自动提交;[php] view plain copyprint?$pdo->setAttribute(PDO::A转载 2017-10-27 10:07:13 · 699 阅读 · 0 评论 -
MySQL 中的数据类型介绍
目录(?)[+] 1概述2数值类型12 21整数类型6 22定点数2 23浮点数3 24BIT13字符串类型14 31CHAR和VARCHAR类型2 31BINARY和VARBINARY类型2 32BLOB和TEXT类型8 33ENUM1 34SET类型14时间日期类型5 41DATE DATETI转载 2017-10-27 09:56:39 · 220 阅读 · 0 评论