我有一个表:SQLseleсt最后一条消息
CREATE TABLE `tMessages` (
`tMessages_id` bigint(20) NOT NULL AUTO_INCREMENT,
`tUsers_sender_uid` bigint(20) NOT NULL,
`tUsers_recipient_uid` bigint(20) NOT NULL,
`tMessages_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`tMessages_text` varchar(2000) NOT NULL,
PRIMARY KEY (`tMessages_id`),
KEY `tUsers_sender_uid` (`tUsers_sender_uid`),
KEY `tUsers_recipient_uid` (`tUsers_recipient_uid`),
KEY `tUsers_uids` (`tUsers_sender_uid`,`tUsers_recipient_uid`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8
我需要:
1)两个用户之间进行选择的所有邮件和我这样做:
SELECT * FROM `tMessages` FORCE INDEX (tUsers_uids) WHERE tUsers_sender_uid = 1 AND tUsers_recipient_uid=2 OR tUsers_sender_uid=2 AND tUsers_recipient_uid = 1
- 是这是一个快速的方法?
2)选择的uid = 1和另一个用户
之间的消息ALL组最后一条消息 - 我怎样才能做到这一点?
'这是快速的方法'不是问题,为什么后面有一个问号? –
这是我的错误=) – IONIX
@IONIX,你对此有更新吗?我们努力在这里帮助你。 –