国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

MongoDB的索引需要考慮每個鍵的索引方向,為何這么設(shè)計?而MySQL的索引則無需考慮方向,兩者之間有何優(yōu)劣勢?

瀏覽:124日期:2022-06-20 15:11:13

問題描述

給一個表/集合創(chuàng)建索引:

// 給集合創(chuàng)建索引,以下會創(chuàng)建兩個不同的索引db.col.ensureIndex({user_id:-1, status:-1})db.col.ensureIndex({user_id:1, status:1})// 給表創(chuàng)建索引alter table table_name add index idx_name(`user_id`, `status`)

問題解答

回答1:

mongodb和mysql的索引實現(xiàn)方式不一樣。mongodb不太熟悉。所以只針對mysql來說:

mysql實現(xiàn)索引的方式是btree或者btree的變種,前序和后序遍歷都一致的。

同時mysql的索引也支持升序和降序排列,只是默認(rèn)是升序罷了。

回答2:

當(dāng)排序過程中用到索引時,索引的方向能起到一定的作用。這個左右對于小數(shù)據(jù)量的表并不明顯,而對于大數(shù)據(jù)量的表就能顯現(xiàn)出來。因為MySQL出現(xiàn)較早,當(dāng)時應(yīng)該沒有進行大數(shù)據(jù)量的這種考慮。

回答3:

http://tech.meituan.com/mysql-index.html

回答4:

在sort()的時候有用,當(dāng)排序的順序和索引順序一樣時,mongodb直接從索引中獲取排序信息以此提升性能。

請參考:http://docs.mongoing.com/manual-zh/tutorial/sort-results-with-indexes.html

主站蜘蛛池模板: 湄潭县| 库尔勒市| 辽阳市| 定兴县| 西青区| 清原| 日土县| 清新县| 天柱县| 奇台县| 上栗县| 绥宁县| 浙江省| 方城县| 滕州市| 鄂伦春自治旗| 乌什县| 宜都市| 额济纳旗| 青海省| 寻甸| 岳普湖县| 涞水县| 扶风县| 清河县| 新河县| 宁陕县| 巫山县| 靖西县| 松滋市| 杭州市| 普安县| 绿春县| 六安市| 太原市| 玉环县| 汶川县| 宁海县| 武义县| 丰都县| 临城县|