mysql 踩坑记录

分享

数字、字符串

如果mysql 里面 有数字字符串 的字段(并且该字段是索引),客户端不要直接传数字,一定要加引号
这个也就是为什么orm库喜欢在格式化时候,默认加上`

索引

索引的问题非常多,通常出现的慢查询都是由于查询语句命中索引不正确导致的
甚至表中的数据量都会影响mysql命中索引的规则

组合索引

组合索引是最左建立多个索引
in会命中索引,not in 会导致索引失效
排序最好主要范围语句会导致组合索引后续的索引失效(主要是 > < 等)
索引最终还是会回归到主键上,所以如果没有分区的情况下,是按照主键顺序返回的(InnoDB),这样基本也是利用来排序的

count

当然count要命中索引,这个不用说,剩余的就是
count(1) 不需要读太多数据,count(*)则不行
而count(column) 是需要筛选出不为 NULL 的字段

想到其他再更新

阅读更多

CPU、ANE、GPU 连接同一块统一内存的简约概念插画

用一个矩阵乘法看懂 ANE、GPU 与统一内存

最近看 Kapitsa 的 ANE 实现时,我想先弄明白一个很小的问题:如果只计算两个矩阵相乘,数据究竟怎样进入 Apple Neural Engine,答案又从哪里回来? 于是把例子收进一个 main.mm 文件:输入是两个 2×2 矩阵,计算图内嵌在文件里,乘法交给 ANE,最后打印结果。本文先把硬件和内存关系画清楚,再顺着这个例子读代码。 1. ANE 是什么,它和 GPU 有什么区别? ANE(Apple Neural Engine)是苹果的神经网络加速器,可以归入 NPU。它与 GPU 是并列的计算单元,不是 GPU 内部的一种核心。 它们都能做大量乘加运算,但面向的软件接口和硬件取舍不同: 计算单元 在这里怎样理解 常见工作

By chainhelen