Home  >  Article  >  Database  >  mysql妙用bit存储信息

mysql妙用bit存储信息

WBOY
WBOYOriginal
2016-06-07 15:17:581232browse

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

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

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

UPDATE `characters` SET `visited_cities` = visited_cities | (1
<p>从cities表找到对应的city:</p>

<pre class="brush:php;toolbar:false">SELECT t1.* from cities as t1, characters as t2 where (1<br>
<span>上面的visited_cities字段是bigint(64位)</span>

<p>真是很方便。</p>
<p><br>
</p>
<p><br>
</p>
<p><br>
</p>


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn