찾다

 >  Q&A  >  본문

java - navicat中如何查看执行一条SQL语句的耗时

在软件Navicat中,如何查看执行一条SQL语句的耗时。
如select * from table_name where id = '1' 如何查看当前的语句耗时。

==============================================================
通过测试发下:

SELECT * FROM idc_logistics_assign_rules WHERE id = '100';
SELECT * FROM idc_logistics_assign_rules WHERE id = '200';
//时间: 0.035s

SELECT * FROM idc_logistics_assign_rules WHERE id IN ('100','200')
//时间: 0.020s

我的id是主键,肯定会走索引的,那么走索引的查询应该更快啊。使用IN关键字是不走索引的,但是为什么查询要比两次主键id查询块呢?求解释。

高洛峰高洛峰2818일 전878

모든 응답(5)나는 대답할 것이다

  • 巴扎黑

    巴扎黑2017-04-18 09:52:29

    여기에 있는 항목이 색인화되었습니다. explain SELECT * FROM idc_logistics_assign_rules WHERE id IN ('100','200')을 실행하면 색인에 유용한 색인 사용법이 표시됩니다. 올바른 쿼리 시간을 얻으려면 SQL_NO_CACHE

    를 추가하세요. 으아악

    注意: 색인을 생성해야 하나요? 상황에 따라 다릅니다. 즉, 인덱스를 사용할 수 있는지 여부에 따라 달라집니다. in의 범위가 in(1,2)의 클러스터형 인덱스인 경우 MSSQL에 의해 자동으로 id=1 또는 id=2로 최적화됩니다. 반환되는 행은 2 in(1, 2) id=1 또는 id=2 explain은 동일한 데이터를 반환합니다. 유용한 지표라고 책임감있게 말씀드릴 수 있습니다. 인덱스를 사용하지 않는다는 인터넷상의 언급은 대부분 MSSQL2K 이후 최적화된 오래된 자료입니다.

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:52:29

    내 내비캣은 맨 아래줄에 있어요

    회신하다
    0
  • 怪我咯

    怪我咯2017-04-18 09:52:29

    거의 到处都是

    같습니다

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:52:29

    ID는 int 유형이어야 합니다. 쿼리할 때 작은따옴표

    를 추가해야 하는 이유는 무엇인가요?

    회신하다
    0
  • PHPz

    PHPz2017-04-18 09:52:29

    오른쪽 하단에 초 단위로 쿼리 시간이 있습니다

    회신하다
    0
  • 취소회신하다