java - navicat中如何查看执行一条SQL语句的耗时
高洛峰
高洛峰 2017-04-18 09:50:29
0
5
872

在软件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查询块呢?求解释。

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

모든 응답(5)
巴扎黑

여기에 있는 항목이 색인화되었습니다. 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 이후 최적화된 오래된 자료입니다.

伊谢尔伦

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

刘奇

거의 到处都是

같습니다
伊谢尔伦

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

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

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

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿