Mysql
文章平均质量分 65
洞妖呼叫洞妖
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
mysql 数据库优化
优化内容:服务器配置优化表结构优化sql语句以及索引优化缓存技术主从分离数据的垂直拆分数据的水平拆分1. mysql配置优化服务器硬件升级是所有优化方案的前提,一般来讲SQL本身的执行速度都不会太慢,慢主要是需要从磁盘把结果集读入到内存,比如改动大表时Copyingto tmp table on disk这种状态常常占据很大比例时间。所以对于单个数据库,优化的次序一般是R...原创 2020-04-26 14:31:10 · 165 阅读 · 0 评论 -
php 分布式数据库
分布式数据库并不是指多个数据库,严格意义来说是指分布式数据库服务器,也成服务器集群。特点:多台数据库服务器轮流对外提供服务,并提供冗余、容灾等基本功能,确保操作不中断。衡量一个MVC框架能不能进行分布式数据库开发,首先需要看MVC中的链接对象能否智能并顺利地切换数据库服务器。以MYSQL驱动、ThinkPhp为例:1.配置数据库这里假设在原有的MySQL数据库服务器的基础上再添加一台用...原创 2020-04-26 14:24:28 · 471 阅读 · 0 评论 -
mysql数据库主从同步配置
原理:Mysql主从复制并不是真正的复制数据表中的信息,而是复制主数据库中的bin-log日志,然后再从这些日志中回复数据,实现数据的复制。主数据库ip地址为114.116.82.149,从数据库ip地址为192.168.2.2271. 首先配置主MySQL服务器:修改mysql配置文件,添加以下代码log-bin = mysql-bin#改值是随便定义的,唯一就行server-i...原创 2020-04-26 14:22:38 · 299 阅读 · 0 评论 -
mysql数据库主从分离
数据库的读写分离的好处?将读操作和写操作分离到不同的数据库上,避免主服务器出现性能瓶颈;主服务器进行写操作,不影响查询应用服务器的查询性能,降低阻塞,提高并发;数据拥有多个容灾副本,提高数据安全性,同时当服务器故障时,可立即切换到其他服务器。原理:读写分离的基本原理是就是让主数据库处理性增、删、改抽到做,而从数据库处理查操作。数据库复制被用来把事务性操作导致的变更同步到其他从数据库。每次...原创 2020-04-26 14:20:03 · 141 阅读 · 0 评论 -
mysql 对数据表已有表进行分区表
Range分区:ALTER TABLE `t_user` PARTITION BY RANGE(id)( PARTITION p0 VALUES LESS THAN (5000001) ENGINE = INNODB, PARTITION p1 VALUES LESS THAN (10000001) ENGINE = INNODB, PARTITION p2 VALUES LESS TH...原创 2020-04-26 14:18:54 · 359 阅读 · 0 评论 -
mysql 中的全文索引(InnoDB存储引擎)
全文索引使用MySQL支持三种模式的全文检索模式自然语言模式通过MATCH AGAINST 传递某个特定的字符串进行检索布尔模式可以为检索的字符串增加操作符 “+”表示必须包含 “-”表示必须排除 “>”表示出现该单词时增加相关性 “<”表示出现该单词时降低相关性“*”表示通配符 “~”允许出现该单词,但是出现时相关性为负 “""”表示短语布尔操作符查看...转载 2020-04-26 14:15:54 · 1051 阅读 · 0 评论 -
mysql 查询某个字段同时拥有两个值
创建表CREATE TABLE `tags` ( `tid` int(11) DEFAULT NULL, `bookid` int(11) DEFAULT NULL, `content` char(20) DEFAULT NULL) ENGINE=MyISAM DEFAULT CHARSET=utf8;-- ------------------------------ Rec...原创 2020-04-26 14:11:30 · 6509 阅读 · 0 评论 -
mysql 之触发器
什么是触发器一张表触发了相关操作(insert/update/delete),然后自动触发了预先编写好的若干条SQL语句的执行。特点及作用特点:触发事件的操作和触发器里的SQL语句是一个事务操作,具有原子性,要么全部执行,要么都不执行;作用:保证数据的完整性,起到约束的作用;示例DELIMITER $$ CREATE /*[DEFINER = { user | CUR...原创 2020-04-26 14:05:32 · 185 阅读 · 0 评论 -
mysql之视图
什么是视图select结果集,虚拟表,没啥好说的。原创 2020-04-26 14:04:07 · 117 阅读 · 0 评论 -
mysql 之存储过程
什么是存储过程简单的说,就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能特性1.可以将一些重复性很高的操作封装到存储过程里,简化了对SQL的调用。2.速度快,只有首次执行需经过编译和优化步骤,后续被调用可以直接执行DEMO定义:调用:...原创 2020-04-26 14:02:02 · 195 阅读 · 0 评论 -
mysql 之自定义函数
什么是函数mysql中的函数与存储过程类似,都是一组SQL集。与存储过程区别1.函数可以return值,存储过程不能直接return,但是可以输出值(select)。2.函数可以嵌入到sql语句中使用,而存储过程不行3.函数一般用于实现较简单的有针对性的功能(如求绝对值、返回当前时间等),存储过程用于实现复杂的功能(如复杂的业务逻辑功能);定义:调用:...原创 2020-04-26 14:00:28 · 208 阅读 · 0 评论 -
mysql 取每个部门薪资最高的前3人
员工表:QQ图片20180716142827.png部门表:QQ图片20180716144304.png要求:取每个部门工资最高的前3人,如图:QQ图片20180716150112.png创建Employee(员工表),Department(部门表)SQL:SELECT d. NAME Department, e1. NAME Employee, e1.Sa...原创 2020-04-26 13:58:04 · 2170 阅读 · 1 评论 -
mysql 取每个部门薪资最高的1人
员工表:QQ图片20180716142827.png部门表:QQ图片20180716144304.png要求:取每个部门工资最高的1人,如图:捕获.PNG创建Employee(员工表),Department(部门表)SQL 1:SELECT e.id, d. NAME dName, e. NAME eName, e.salaryFROM (...原创 2020-04-26 13:56:44 · 460 阅读 · 0 评论 -
mysql分区和分表(表的水平拆分和垂直拆分)
MySQL分区和分表总结日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会更加糟糕。分表和表分区的目的就是减少数据库的负担,提高数据库的效率,通常点来讲就是提高表的增删改查效率。什么是分表?分表是将一个大表按照一定的规则分解成多张具有独立存储空间的实体表,我们可以...原创 2020-04-26 13:53:59 · 584 阅读 · 0 评论 -
mysql 分区表
什么是分区?分区是将数据分段划分在多个位置存放,可以是同一块磁盘也可以在不同的机器。分区后,表面上还是一张表,但数据散列到多个位置了。app读写的时候操作的还是大表名字,db自动去组织分区的数据。使用场景:表非常大以至于无法全部都放在内存中,或者只在表的最后部分有热点数据,其他均是历史数据。表非常大以至于无法全部都放在内存中,或者只在表的最后部分有热点数据,其他均是历史数据。分区表的...原创 2020-04-26 13:50:13 · 257 阅读 · 0 评论 -
mysql 列表IN()的比较
在很多数据库系统中,IN()完全等同于多个OR条件的自居,因为这两者是完全等价的。在MySQL中这点是不成立的,MySQL将IN()列表中的数据先进行排序,然后通过二分查找的方式来确定列表中的值是否满足条件,这是一个O(log n)复杂度的操作,等价地转换成OR查询的复杂度为O(n),对于IN()列表中有大量取值的时候,MySQL的处理速度将会更快...原创 2020-04-26 10:00:56 · 1266 阅读 · 0 评论 -
mysql 的using用法
a inner join b on a.id = b.id 等同于a inner join b using(id)使用条件:两个表的关联字段必须一样原创 2020-04-26 09:57:59 · 370 阅读 · 0 评论 -
mysql char和varchar区别
varchar类型用于存储可变长字符串,比定长类型更节省空间,因为它仅适用必要的空间(例如,越短的字符串使用越少的空间)。varchar节省了存储空间,所以对性能也有帮助。但是,由于行是变长的,在update时可能使行变得比原来更长,这就是导致需要额外的工作。如果一个行占用的空间增长,并且在页内没有更多的空间可以存储,在这种情况下,不同的存储引擎的处理方式是不一样的。例如,myisam会将行拆...原创 2020-04-26 09:53:27 · 195 阅读 · 0 评论 -
mysql having的运用
select uid from (SELECT uid,sum(score) total,date from scores GROUP by uid,date) u where date BETWEEN '2017-03-01' and '2017-03-31' and total >40 having count(total)> 15;orSELECT uid FROM(...原创 2020-04-26 09:49:39 · 313 阅读 · 0 评论 -
mysql 的ON DUPLICATE KEY UPDATE用法
在MySQL数据库中,如果在insert语句后面带上ON DUPLICATE KEY UPDATE 子句,而要插入的行与表中现有记录的惟一索引或主键中产生重复值,那么就会发生旧行的更新;如果插入的行数据与现有表中记录的唯一索引或者主键不重复,则执行新纪录插入操作。比如有这样一张表:create table daily_hit_counter (day date not null,slot ...原创 2020-04-26 09:45:43 · 291 阅读 · 0 评论 -
mysql 隔离级别
READ UNCOMMITTED (未提交读)在READ UNCOMMITTED级别,事务中的修改,即便没有提交,对其他事务也都是可见的。事务可以读取未提交的数据,这也被称为脏读。这个级别会导致很多问题,从性能上来说,READ UNCOMMITTED不会比其他的级别好太多,但却缺乏其他级别的很多好处,除非真的有非常必要的理由,在实际应用中一般很少使用。READ UNCOMMITTED...原创 2020-04-24 18:05:00 · 117 阅读 · 0 评论 -
mysql 版本问题 sql_mode=only_full_group_by
查看mysql版本 5.6及以下版本没有此问题mysql> select version();+-----------+| version() |+-----------+| 5.7.24 |+-----------+1 row in set (0.00 sec)查看sql_modemysql> select @@sql_mode;+------------...原创 2020-04-24 18:01:51 · 165 阅读 · 0 评论 -
MySQL - Host is not allowed to connect to this MySQL server解决方法
先说说这个错误,其实就是我们的MySQL不允许远程登录,所以远程登录失败了,解决方法如下:在装有MySQL的机器上登录MySQL mysql -u root -p密码执行use mysql;执行update user set host = ‘%’ where user = ‘root’;这一句执行完可能会报错,不用管它。执行FLUSH PRIVILEGES;...原创 2020-04-23 17:23:04 · 148 阅读 · 0 评论
分享