哈希函数
哈希查找表一般会存在“碰撞”的问题,就是说不同的 key 被哈希到了同一个 bucket。一般有两种应对方法:链表法
和开放地址法
。链表法
将一个 bucket 实现成一个链表,落在同一个 bucket 中的 key 都会插入这个链表。开放地址法
则是碰撞发生后,通过一定的规律,在数组的后面挑选“空位”,用来放置新的 key。
数据库占用空间太大,把一个最大的表删掉了一半的数据,怎么表文件的大小还是没变?
以下是例子
1 | SELECT * FROM TABLE WHERE xxx = 11 |
如果列xxx确实只有11的,你是否就认为筛选出来的就一定只有xxx=11的呢?
在过滤字段为数值类型的时候,数值类型有一种隐式转换,如果是以数字开头的,包含有字符,后面的字符会被截断,只取前面的数字值。
大概有这样的需求