>  기사  >  데이터 베이스  >  mysql妙用bit存储信息

mysql妙用bit存储信息

WBOY
WBOY원래의
2016-06-07 15:17:581230검색

做游戏要存储用户经过城市列表,我想用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>


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.