将数据从mysql迁移到clickhouse
1、关于clickhouse的介绍 https://zhuanlan.zhihu.com/p/370201180 2、京东使用clickhouse存储秒级100G日志数据: https://new.qq.com/omn/20220408/20220408A03TA600.html 3、将MySQL数据迁徙到clickhouse内操作步骤: #clickhouse-client 🙂 create database newDB; 🙂 use newDB; –导入数据: CREATE TABLE Orders ENGINE = MergeTree ORDER BY OrderID AS SELECT * FROM mysql(‘10.42.134.136:3307’, ‘DBNAME’, ‘Orders’, ‘root’, ‘PASSWORD’); Ok. 0 rows in set. Elapsed: 1832.114 sec....
docker安装Mysql5.7
docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 docker run -p 3306:3306 --name mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/logs -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1234567 -d mysql:5.7 docker-compose安装mysql: version : '3' services: mysql: container_name: mysql image: mysql:5.7 build: context: ./mysql ports: - "3307:3306" vol...
PAGEHELPER分页插件查询速度慢的解决方法
网上推荐的方案都重写PAGEHELPER的SELECT COUNT()方法 重写pageHelper的select COUNT()方法: ###这篇博客最后的参考文章里有xml版的重写方法,这里我只给出mapper接口的方法: 注意命名方式(在查询函数后面增加 _COUNT)和返回类型(必须为long),这样就覆盖了pagehelper的方法了。pagehelper会自动扫描,不需要进行其他的操作。 这样就可以使用SQL强制使用我们自己的索引啦!!! select count(0) from t_product FORCE INDEX(category_index) where 1=1 and category=2
mysql关于索引那些事儿
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.查询尽量走索引。可以使用 use index(create_time_index) 或者 force index(create_time_index) 强制走索引。 3.时间字段建索引,有可能反而会很慢。可以使用 ignore index(create_time_index) 强制不走索引 4.使用MAX等函数后不走索引,使用 order by limit 1; 例如(tb_user数据1000W): select max(rank) from tb_user; 需要3秒,但是 select rank from tb_user order by rank desc limit 1;只需要0.01秒。...
mysql大数据表加字段改名
select count(0) from product_detection select count(0) from product_detection_latest create table tmp like product_detection; insert into product_detection_latest select a.id, a.product_id, a.title, a.image_url, a.item_url, a.price, a.rating, a.sub_category, a.reviews_count, a.review_change, a.rank_number, a.country, a.brand, a.source, a.tag, a.category, a.create_time, a.reviews_count_latest, a.rating_latest, a.first_review_day, a.latest_review_day, a.period, a.base...
mysql大数据表添加字段
方案一、 1.创建一个临时的新表,复制旧表的结构 create table `tmp` like `goods`; 2.给新表加上新增的字段 ALTER TABLE `tmp` ADD COLUMN `num` int(10) NOT NULL DEFAULT 0 AFTER `unit`; 3.把旧表的数据复制过来 insert into tmp(id,name,unit) select id,name,unit from goods; 4.重命名 rename table goods to goods_bak; rename table tmp to goods; 方案二、升级MySQL的服务器版本 升级到高版本后 因为引入了新的算法:即时算法 所以会毫秒级别的加字段 不会对业务发布上线造成影响 ...
MySQL 查看执行计划
MySQL 查看执行计划 MySQL 使用 explain + sql 语句查看 执行计划,该执行计划不一定完全正确但是可以参考。 EXPLAIN <span class="hljs-keyword">SELECT</span> <span class="hljs-operator">*</span> <span class="hljs-keyword">FROM</span> <span class="hljs-keyword">user</span> <span class="hljs-keyword">WHERE</span> nid <span class="hljs-operator">=</span&g...
k8s之ReplicationController
kind: ReplicationController apiVersion: v1 metadata: name: mysql-rc namespace: default uid: 946f2c6a-f7ac-4412-b3c9-3741fe668717 resourceVersion: '1299573' generation: 3 creationTimestamp: '2021-05-17T09:16:19Z' labels: name: mysql-rc spec: replicas: 1 selector: name: mysql-pod template: metadata: labels: name: mysql-pod spec: volumes: - name: mysql-storage persistentVolumeClaim: claimN...
.Net连接Mysql数据库的Convert Zero Datetime日期问题
Convert Zero Datetime=True; 如题,其实这已经是以前遇到过的一个问题了。在.Net中使用Mysql的组件MySql.Data(Nuget.org的链接在这里http://www.nuget.org/packages/MySql.Data/)时需要在web.config的连接字符串中配置一些额外的属性,以最大程度地契合MS SERVER的数据类型,下面我以自己在实现工作遇到的问题为例子,来说明在连接字符串中配置的作用:Web.config连接Mysql字符串: 1 2 <span class="hljs-tag"><<span class="hljs-name">add</span> <span class=...
数据库先写日志还是先写数据?
每一个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的...