使用HandlerSockets時,我可以指定要從查詢中接收哪些字段嗎?使用HandlerSockets時,我可以指定要從查詢中接收哪些字段嗎?
這裏是我的樣品臺
CREATE TABLE pushed_media
(
user_id BINARY(12) NOT NULL,
story_id BINARY(12) NOT NULL,
sent_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
PRIMARY KEY (user_id, story_id)
);
PHP代碼查詢它低於
$hs = new HandlerSocket($host, $port);
if (!($hs->openIndex(1, $dbname, $table, HandlerSocket::PRIMARY, 'user_id,story_id,sent_date')))
{
echo $hs->getError(), PHP_EOL;
die();
}
$user_id = pack('H*', substr(md5('ruslan'), 0, 24));
$story_id = pack('H*', substr(md5('story1'), 0, 24));
$retval = $hs->executeSingle(1, '=', array($user_id, $story_id), 1, 0);
所有我需要的是sent_date
,因爲我已經知道了另外兩個值。是否有可能不再通過網絡傳輸它們?
因此,使用'openIndex'實際上並不意味着我必須在這個列上有一個索引? – expert
@ruslan是的,在openIndex調用中,您指定要使用的索引以及要讀取的字段,而在executeSingle調用中指定要提取的索引列值。有關openIndex調用的更多詳細信息,請參閱更新的答案。 – 2013-02-03 09:10:29