相关疑难解决方法(0)

从历史记录表中选择最新状态

我继承了一个结构如下的表:

ID   Name   Timestamp   Data
----------------------------
1    A      40          ...
2    A      30          ...
3    A      20          ...
4    B      40          ...
5    B      20          ...
6    C      30          ...
7    C      20          ...
8    C      10          ...
Run Code Online (Sandbox Code Playgroud)

ID是一个标识字段和主键,在NameTimestamp字段上有非唯一索引.

什么是最有效的方式来获取最新的每个项目名称记录,即在上述行的表1,46,因为它们是项目中最先进的日期项应返回一个,Ç分别.

sql t-sql

10
推荐指数
2
解决办法
7316
查看次数

在mysql查询中使用SELECT中的SELECT

通常使用SELECT内部SELECT来减少查询的数量; 但是当我检查这会导致查询速度变慢(这显然对mysql性能有害).我有一个简单的查询

SELECT something
 FROM posts
 WHERE id IN (
  SELECT tag_map.id
  FROM tag_map
  INNER JOIN tags
  ON tags.tag_id=tag_map.tag_id
  WHERE tag IN ('tag1', 'tag2', 'tag3', 'tag4', 'tag5', 'tag6')
  )
Run Code Online (Sandbox Code Playgroud)

这导致查询"查询时间3-4s;锁定时间约为0.000090s;检查约200行"的查询速度慢.

如果我拆分SELECT查询,每个查询都会很快; 但这会增加不兼容高并发性的查询数量.

这是通常的情况,还是我的编码有问题?

mysql sql database select

4
推荐指数
1
解决办法
4万
查看次数

标签 统计

sql ×2

database ×1

mysql ×1

select ×1

t-sql ×1