分类目录

链接

2024 年 4 月
1234567
891011121314
15161718192021
22232425262728
2930  

近期文章

热门标签

新人福利,免费薅羊毛

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 暂无评论 阅读(81)

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 暂无评论 阅读(91)

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 暂无评论 阅读(83)

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...

MySQL 暂无评论 阅读(72)

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...

k8s, MySQL 暂无评论 阅读(128)

.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">&lt;<span class="hljs-name">add</span> <span class=...

.NET, MySQL 暂无评论 阅读(172)

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

每一个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 暂无评论 阅读(218)

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 暂无评论 阅读(580)

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 暂无评论 阅读(550)

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 暂无评论 阅读(519)