cari

Rumah  >  Soal Jawab  >  teks badan

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

高洛峰高洛峰2820 hari yang lalu884

membalas semua(5)saya akan balas

  • 巴扎黑

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

    Dalam anda di sini diindeks. Laksanakan explain SELECT * FROM idc_logistics_assign_rules WHERE id IN ('100','200') dan anda akan melihat penggunaan indeks, yang berguna untuk indeks. Untuk mendapatkan masa pertanyaan yang betul, tambah SQL_NO_CACHE

    SELECT SQL_NO_CACHE * FROM idc_logistics_assign_rules WHERE id IN ('100','200')
    

    注意: Perlukah dalam diindeks? Ia bergantung kepada keadaan. Iaitu, ia bergantung kepada sama ada indeks boleh digunakan. Apabila julat in ialah indeks berkelompok dalam(1,2), ia akan dioptimumkan secara automatik oleh MSSQL kepada id=1 atau id=2 Anda boleh gunakan explain untuk melihatnya. 2) dan id=1 atau id=2 menerangkan mengembalikan data yang sama. Saya boleh memberitahu anda secara bertanggungjawab bahawa ia adalah indeks yang berguna. Kebanyakan sebutan di Internet tentang tidak menggunakan indeks adalah bahan lama, yang telah dioptimumkan sejak MSSQL2K.

    balas
    0
  • 伊谢尔伦

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

    Navicat saya berada di baris bawah

    balas
    0
  • 怪我咯

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

    Ia hampir seperti 到处都是

    balas
    0
  • 伊谢尔伦

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

    Id anda mestilah jenis int. Mengapakah kita perlu menambah petikan tunggal

    semasa membuat pertanyaan?

    balas
    0
  • PHPz

    PHPz2017-04-18 09:52:29

    Terdapat masa pertanyaan di penjuru kanan sebelah bawah dalam beberapa saat

    balas
    0
  • Batalbalas