欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mysql妙用bit存储信息

程序员文章站 2022-06-17 18:01:26
...

做游戏要存储用户经过城市列表,我想用varchar类型存,大自然提出用比特存信息的好办法,这样一来,我比原来就减少了至少一半的mysql网络请求开销,同时也让mysql的空间节省了许多。 比如,我要标记第三个城市的为已经访问过,我更新bit数据的SQL语句是这样

做游戏要存储用户经过城市列表,我想用varchar类型存,大自然提出用比特存信息的好办法,这样一来,我比原来就减少了至少一半的mysql网络请求开销,同时也让mysql的空间节省了许多。

比如,我要标记第三个城市的为已经访问过,我更新bit数据的SQL语句是这样的(用到了位操作的与、或、移位):

UPDATE `characters` SET `visited_cities` = visited_cities | (1

从cities表找到对应的city:

SELECT t1.* from cities as t1, characters as t2 where (1
上面的visited_cities字段是bigint(64位)

真是很方便。