分类目录

链接

2020年七月
« 6月    
 12345
6789101112
13141516171819
20212223242526
2728293031  

近期文章

热门标签

博主推荐

数据库先写日志还是先写数据?

每一个SQL Server的数据库都会按照其修改数据(insert,update,delete)的顺序将对应的日志记录到日志文件.SQL Server使用了Write-Ahead logging技术来保证了事务日志的原子性和持久性.而这项技术不仅仅保证了ACID中的原子性(A)和持久性(D),还大大减少了IO操作,把对数据的修改提交到磁盘的工作交给lazy-writer和checkpoint. 预写式日志(Write-Ahead Logging (WAL)) SQL Server使用了WAL来确保了事务的原子性和持久性.实际上,不光是SQL Server,基本上主流的关系数据库包括oracle,mysql,db2都使用了WAL技术. WAL的...

MySQL, Oracle, SQL Server 暂无评论 阅读(38)

mysql update触发器

DELIMITER $$   CREATE     /*[DEFINER = { user | CURRENT_USER }]*/     TRIGGER `test`.`trig_update`  AFTER  UPDATE      ON `test`.`shunqing_content_open`     FOR EACH ROW      BEGIN     DECLARE num INT;     IF(old.title<> new.title OR old.content<>new.content)     THEN         SELECT COUNT(0) INTO num FROM shunqing_content_tmp WHERE tid=new.tid;         IF(num = 0)         THEN             INSERT INTO shunqing_content_tmp(tid,TYPE,createtime)VALUES(new.tid,2,N...

MySQL 暂无评论 阅读(460)

MySQL使用Union创建视图报错

mysql> select * from test_main; +----+-------+ | id | value | +----+-------+ |  1 | ONE   | |  2 | TWO   | |  3 | THREE | +----+-------+ 3 rows in set (0.00 sec)   mysql> create table test_main2 select * from test_main; Query OK, 3 rows affected (0.04 sec) Records: 3  Duplicates: 0  Warnings: 0     -- 创建视图, sql 语句加了括号, 报错。 CREATE VIEW view_test_main AS ( SELECT * FROM test_main UNION ALL SELECT * FROM test_main2 );   ERROR 1064 (42000): You have an e...

MySQL 暂无评论 阅读(432)

mysql插入单引号字符串

此时将字符串中的单引号" ' "替换成"  ' '  "两个单引号即可。 此时应该利用java中的“replace”方法进行替换。此处给出java中的替换代码。   public static void main(String[] args) throws Exception{         Server ss=new Server();         String str="I'm a boy";         String temp=str.replaceAll("'", "''");         String sql="insert into test VALUES('"+temp+"');";         ss.operate(sql, 2);         System.out.println(temp);         System.out.println(sql);     } 此时的输出结...

MySQL 暂无评论 阅读(373)

面试记录:你们搞开发还是搞研究?

1.面像对像三大特性是什么?什么是多态?多态我有什么优缺点? 2.什么是面向切面编程?有什么优缺点,低层是怎么实现的 3.什么是多线程,多线程有几种锁,他们的区别,他们的底层是怎么实现的? 4.什么是面像对像编程?和函数式编程有什么区别和优点? 5.数据库的索性有几种(聚集索引和非聚集索引),区别是什么?底层实现原理是什么? 6.数据库事务是什么?底层是通过什么实现事务回滚的? 7.数据库的锁有几种?区别是什么? 8.数据库日志是先写日志还是先执行sql语句? 9.数据库分库分表怎么实现? 10.对.NET C...

.NET, DBA, JAVA, log, Manager, MySQL, NoSQL, Oracle, Others, SQL Server, SQLite 暂无评论 阅读(490)

高性能Mysql主从复制原理

温习《高性能MySQL》的复制篇. 1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础。将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的。复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次...

MySQL, 系统架构, 运维 暂无评论 阅读(388)

一步一步使用mycat(四):Redis数据库缓存

一、为什么要做数据库缓存?     二、缓存的读取的两种方式 1.读DB前,先读缓存,如果有直接返回,如果没有再读DB,然后写入缓存层并返回。 2.写DB前,先清(或者失效、过期)缓存,再写DB 三、缓存的存储 把Mysql结果集缓存到Redis的字符串或哈希结构中以后,我们面临一个新的问题,即如何为这些字符串或哈希命名,也就是如何确定它们的键。因为这些数据结构所对应的行都属于某个结果集,假如可以找到一种唯一标识结果集的方法,那么只需为这些数据结构分配一个唯一的序号,然后把结果集标识符与该序号...

JAVA, LINUX, MySQL, 系统架构, 运维 暂无评论 阅读(635)

一步一步使用mycat(三):分库分表

LINUX, MySQL 暂无评论 阅读(414)

一步一步使用mycat(二):主从复制

在讲主从复制前,我们先说一下Mysql主从复制实现原理: 高性能Mysql主从架构的复制原理 怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下: 1、主从服务器分别作以下操作: 1.1、版本一致 1.2、初始化表,并在后台启动mysql 1.3、修改root的密码 2、修改主服务器master: #vi /etc/my.cnf [mysqld] log-bin=mysql-bin   //[必须]启用二进制日志 server-id=222      //[必须]服务器唯一ID,默认是1,一般取IP最后一段 3、修改从服务器slave: #vi /etc/my.cnf [mysqld] log-bin=mysql-bin   //[不是必须...

LINUX, MySQL 暂无评论 阅读(473)

一步一步使用mycat(一):搭建Mysql数据库读写分离

一、安装mysql 步骤:略(详见) 二、安装mycat 1.下载mycat 百度云下载:https://pan.baidu.com/s/1slb9mix 官方网站下载:https://github.com/MyCATApache/Mycat-download 注:官方推荐版本1.4或1.5,本文使用1.6 wget https://github.com/MyCATApache/Mycat-download/blob/master/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz (推荐使用百度网盘下载) 2.安装mycat tar -zxvf Mycat-server-1.6-RELEASE-20161012170031-linux.tar.gz 3.新建用户和组 groupadd mycat adduser -r -g m...

MySQL, 系统架构, 运维 暂无评论 阅读(888)