我使用的是sqlite3。假设我有一个表t和三个字段id、A、B和C,其中id是主键。SELECT * FROM t WHERE ?< id ORDER BY id desc limit 1SELECT * FROM t WHERE ?> id ORDER BY id ASC limit 1
但是,如果我有复合主键,并且我想获取上一行/<e
我需要从ORDERBY查询中获得下一行SELECT ID FROM T WHERE !ORDERBY Age (then primary key, but I suspect if the Age values are the same SQLite would default to orderby primary key anyway) LIMIT 1
本质上,它将在有序表中输入ID之后选择下一
如果我有一个具有主键和外键的表,并且经常使用同时包含这两个(...WHERE primary=n AND foreign=x)的查询进行搜索,那么在MySQL中使用这两个键创建多个索引是否会对性能有好处我知道它们都已经是索引了,但我不确定当外键包含在另一个表中时,它是否仍然被视为索引。例如,MySQL是否会转到主键,然后比较外键的所有值,直到找到正确的值,或者它是否已经知道它在哪里,因为外键也是一个索引?
更新:我使用的是InnoDB表。