那就维护一个映射关系表不就行了,表中一个真实商品id对应多个别名id,多行存储,统计的时候关联一下就可以了
没有足够的数据
(゚∀゚ )
暂时没有任何数据
clcx_1315 回答了问题 · 2019-03-14
那就维护一个映射关系表不就行了,表中一个真实商品id对应多个别名id,多行存储,统计的时候关联一下就可以了
那就维护一个映射关系表不就行了,表中一个真实商品id对应多个别名id,多行存储,统计的时候关联一下就可以了
关注 5 回答 2
clcx_1315 回答了问题 · 2019-03-14
select * from
(select wextid,result
from t_test
group by wextid,result) a
group by wextid
having count(1)=1 and result = 'error'
{代码...}
关注 6 回答 5
clcx_1315 关注了标签 · 2019-03-13
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵...
关注 72629
clcx_1315 关注了标签 · 2019-03-13
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵...
关注 72629
clcx_1315 评论了文章 · 2018-12-28
众所周知,在设定了隔离等级为Repeatable Read
及以上时,InnoDB
可以实现数据的一致性读。换句话来说,就是事务执行的任意时刻,读取到的数据是同一个快照,不会受到其他事务的更新影响。
以前一直以为在事务内读到的数据不会受其他事务影响,后来发现只有普通的select
语句才是一致性读。如果是update, delete, select for update, select in share mode
等语句是当前读,读的是数据库最新数据, 下面是两个例子。
创建一个测试用的表, 然后插入一条测试用的数据
create table test_innodb_read(
id int not null primary key,
value int
) engine = InnoDB charset=utf8;
insert into test_innodb_read values (1, 1);
当前autocommit
和隔离等级如下
db83-3306>>select @@autocommit;
+--------------+
| @@autocommit |
+--------------+
| 1 |
+--------------+
1 row in set (0.00 sec)
db83-3306>>select @@transaction_isolation;
+-------------------------+
| @@transaction_isolation |
+-------------------------+
| REPEATABLE-READ |
+-------------------------+
1 row in set (0.00 sec)
然后开启两个 Session
,分别执行以下操作
时间点 | SessionA | 结果 | SessionB |
---|---|---|---|
1 | begin select * from test_innodb_read where id=1 | 1 | |
2 | update test_innodb_read set value = 2 where id=1 | ||
3 | select * from test_innodb_read where id=1 | 1 | |
4 | select * from test_innodb_read where id=1 lock in share mode | 2 |
由于设置了自动提交,所以SessionB
的更新语句执行完就已经提交了,从结果可以看到普通的Select
不受其他事务影响,所以读到的数据都是同一版本,而在加锁读的情况下采取的是读最新的数据,所以读到的数据是最新提交的数据。
在进行数据变更操作的时候,也会拿到最新的数据,用的还是上面的表,插入一条测试数据
insert into test_innodb_read values (2, 1);
然后开启两个 Session
,分别执行以下操作,
时间点 | SessionA | 结果 | SessionB |
---|---|---|---|
1 | begin select * from test_innodb_read where id=2 | 1 | |
2 | update test_innodb_read set value = 2 where id=2 | ||
3 | select * from test_innodb_read where id=2 | 1 | |
4 | update test_innodb_read set value=value+1 where id=2 | ||
5 | select * from test_innodb_read where id=2 | 3 |
SessionA
在时间点 5 查看数据拿到的是 3 而不是 2,原因是,事务在对数据进行更新操作时(时间点4),会先读取一次数据,这次读取的不是事务开始版本,而是数据的最新提交的值 2。如果不读取最新数据的话,就等于覆盖了SessionB
的更新,所以读到的是 2,最后得到的数据是 3。
当我知道这个知识点后,感觉背后一凉,以前写代码的时候,喜欢在事务里先把数据查出来,内存中相加减,再存库,现在想想这样做就是BUG
啊,坑...
不得不说,极客时间上面的这个MySQL
课程还是很值的,至少让我推翻了以前的想法
MySQL实战45讲-8 事务到底是隔离的还是不隔离的查看原文
众所周知,在设定了隔离等级为Repeatable Read及以上时,InnoDB 可以实现数据的一致性读。换句话来说,就是事务执行的任意时刻,读取到的数据是同一个快照,不会受到其他事务的更新影响。
clcx_1315 回答了问题 · 2018-11-29
select a.* from t_test a join
(select '1' id union
SELECT id FROM `t_test` WHERE `pid` = '1' AND type = 1) b
on a.pid=b.id and a.type=2;
数据量大的话pid要加个索引
{代码...} 数据量大的话pid要加个索引
关注 3 回答 2
clcx_1315 回答了问题 · 2018-11-29
客户端都一样,mac还是win要load都用load,
load加local是加载客户端本地文件
source只能读取服务器端文件
客户端都一样,mac还是win要load都用load,load加local是加载客户端本地文件source只能读取服务器端文件
关注 2 回答 1
clcx_1315 回答了问题 · 2018-11-29
select * from a where not exists
(select 1 from b where a.column1=b.column1 and a.column2=b.column2;
{代码...}
关注 4 回答 3
clcx_1315 回答了问题 · 2018-11-15
http://mirrors.sohu.com/mysql/ 这里可以找到每个大版本的最后几个小版本,不包含所有小版本
要么就去percona找吧 有所有小版本包 https://www.percona.com/downl...
[链接] 这里可以找到每个大版本的最后几个小版本,不包含所有小版本要么就去percona找吧 有所有小版本包 [链接]
关注 4 回答 3
clcx_1315 回答了问题 · 2018-11-08
加个article_id,id,user_id的联合索引
加个article_id,id,user_id的联合索引
关注 5 回答 3
查看全部 个人动态 →
(゚∀゚ )
暂时没有
注册于 2016-12-16
个人主页被 3k 人浏览
推荐关注