MySQL 消息系统的设计(二: 系统架构设计和数据库设计) 在开发中,我们期望消息的发送与业务系统进行解耦,这样做的好处是,可以是业务代码与消息系统的发送完全分离,不会因为消息发送的快慢程度而影响业务系统处理。因此,我们使用队列来完成消息的推送。消息流程图:①... 07月25日 7,636 发表评论 收藏 阅读全文
消息系统的设计(一: 需求分析和思路的整理) 在系统开发中,我们需要完成短信、微信公众号、小程序、web消息、安卓消息、IOS消息的推送(push)以及拉取 (pull),而且消息的类型也是多种多样,我们来分析一下需求。消息的种类可以分为: 触发... 07月25日 MySQL 2,572 发表评论 收藏 阅读全文
PHP代码的优化之数据库的设计 在上篇文章 PHP代码优化之array_column() 使用(解决循环嵌套Sql的问题)中,我们使用 array_column来优化订单取商品数据,减少数据库查询次数。其实,从业务角度出发... 06月20日 MySQL 1,345 发表评论 收藏 阅读全文
MySQL 解决ThinkPHP5不能执行批量Sql的问题 在开发过程中,我们可能遇到大批量的数据需要修改的功能,如果一条条修改,性能十分低下,因此,我们考虑,是否可以批量执行sql语句呢?在ThinkPHP5由于使用的PDO的 execute方法,由于PDO... 03月27日 2,623 发表评论 收藏 阅读全文
使用Shell脚本定时备份远程数据库数据 在项目后,我们需要对正式的数据进行固定的备份,用于数据库灾备或者数据分析等。接下来,我们来介绍如何使用shell 备份数据库:#!/bin/bash #保存备份个数,备份31天数据 expire_da... 11月17日 Centos 1,749 发表评论 收藏 阅读全文
MySQL RBAC(基于角色的权限访问控制)数据库设计 大多数项目中,多多少少都会涉及到权限控制,各种编程语言也有相对应的开源代码。但是,在项目复杂的项目中,可能无法满足我们的需求,因此,我们来介绍下完整的RBAC 及其数据库设计。RBAC,即基于角色的权... 12月16日 6,537 发表评论 收藏 阅读全文
解决 ThinkPHP5 中多表多字段查询问题(MySQL 视图应用以及介绍) 在日常开发中,我们经常会遇到如下问题:在前端展示的列表中,往往包含多个表的数据且需要查询多个表的字段,进行筛选分页排序等问题,常见的方法是采用 join 方法或者 ThinkPHP 的关联模型、视图查... 11月04日 MySQL 5,798 发表评论 收藏 阅读全文
MySQL 存储引擎介绍(MyISAM 存储引擎) 在 MySQL 5.1 以及之前的版本,MyISAM 是默认的存储引擎。MyISAM 提供了大量的特性,包括全文索引、压缩、空间函数(GIS)等,但 MyISAM 不支持事务和行级锁,而且有一个毫无疑... 08月21日 MySQL 3,609 发表评论 收藏 阅读全文
MySQL 并发控制 无论何时,只要有多个查询需要在同一时刻修改数据,都会产生并发控制的问题。以 Unix 系统的 email box 为例,典型的 mbox 文件格式是非常简单的。一个 mbox 邮箱中的所有邮件都串行在... 08月12日 MySQL 2,487 发表评论 收藏 阅读全文
MySQL MySQL 隐式转换 MySQL 隐式转换的规则如下:1. 两个参数至少有一个是 NULL 时,比较的结果也是 NULL,例外是使用 <=> 对两个 NULL 做比较时会返回1,这两种都不需要做类型转换。2. ... 08月09日 2,452 发表评论 收藏 阅读全文