+------------+--------------+--------------+--------------+------------+------------+--------------+----------------+-----------------+-----------------+-----------+----------+-------------+----------------+-------------------+--------+| TABLE_CAT | TABLE_SCHEM | TABLE_NAME | COLUMN_NAME | DATA_TYPE | TYPE_NAME | COLUMN_SIZE | BUFFER_LENGTH | DECIMAL_DIGITS | NUM_PREC_RADIX | ABLE | REMARKS | COLUMN_DEF | SQL_DATA_TYPE | SQL_DATETIME_SUB | CHAR_O |
+------------+--------------+--------------+--------------+------------+------------+--------------+----------------+-----------------+-----------------+-----------+----------+-------------+----------------+-------------------+--------+
| | ns1000 | operate_log | pk | 12 | VARCHAR | | | | | 0 | | | | | |
| | ns1000 | operate_log | appVersion | 12 | VARCHAR | | | | | 1 | | | | | |
| | ns1000 | operate_log | city | 12 | VARCHAR | | | | | 1 | | | | | |
| | ns1000 | operate_log | lat | 12 | VARCHAR | | | | | 1 | | | | | |
| | ns1000 | operate_log | lon | 12 | VARCHAR | | | | | 1 | | | | | |
| | ns1000 | operate_log | memberType | 12 | VARCHAR | | | | | 1 | | | | | |
| | ns1000 | operate_log | time | 12 | VARCHAR | | | | | 1 | | | | | |
+------------+--------------+--------------+--------------+------------+------------+--------------+----------------+-----------------+-----------------+-----------+----------+-------------+----------------+-------------------+--------+0: jdbc:phoenix:> select * from "operate_log" limit 1;
+------------------------+-------------+-------+---------------------+---------------------+-------------+----------------+| pk | appVersion | city | lat | lon | memberType | time |
+------------------------+-------------+-------+---------------------+---------------------+-------------+----------------+1538216707720 | 2.22.0 | 重慶市 | 29.577587127685547 | 106.50493621826172 | 0 | 1538216707720 |
+------------------------+-------------+-------+---------------------+---------------------+-------------+----------------+
1 row selected (0.115 seconds)
0: jdbc:phoenix:> select count(*) from "operate_log";
+-----------+
| COUNT(1) |
+-----------+
| 2799827 |
+-----------+
1 row selected (3.848 seconds)(可左右滑動)
4. 根據(jù)字段 time 進(jìn)行時間范圍查詢:0: jdbc:phoenix:> select count(*) from "operate_log" where "f"."time" between '1538216707720' and '1538223834000';(可左右滑動)
+-----------+
| COUNT(1) |
+-----------+
| 5883 |
+-----------+
1 row selected (5.241 seconds)
這種情況下,基本上查詢都在 5s 左右 。這里還要有兩點(diǎn)說明:
- Phoenix 會自動將表名、字段名都轉(zhuǎn)成大寫,如果要區(qū)分大小寫使用雙引號括起來即可 。
- 這里我們創(chuàng)建的是視圖,相當(dāng)于外部表,也可以 create table 創(chuàng)建表,視圖的特點(diǎn)是刪除時不會刪除 HBase 表,但是視圖創(chuàng)建的二級索引不會自動更新,如果要實(shí)時更新的話,只能使用 create table,然后通過 Phoenix jdbc 的方式寫入數(shù)據(jù),只有通過 Phoenix 寫,然后用 Phoenix 實(shí)現(xiàn)的協(xié)處理器才能實(shí)現(xiàn)實(shí)時更新的索引 。
0: jdbc:phoenix:> create index index_operate_log_time on "operate_log" ("f"."time");
2,799,827 rows affected (95.814 seconds)(可左右滑動)2. 再次根據(jù) time 字段做范圍查詢
00: jdbc:phoenix:> select count(*) from "operate_log" where "f"."time" between '1538216707720' and '1538223834000';
+-----------+
| COUNT(1) |
+-----------+
| 5883 |
+-----------+
1 row selected (0.049 seconds)(可左右滑動)這里基本上查詢都在 50 ms 左右 。這就是通過 Phoenix 的二級索引帶來的性能提升 。
Phoenix 索引類型介紹Phoenix 提供了多種索引類型,包括覆蓋索引、函數(shù)索引,以及全局索引與本地索引等,具體介紹如下 。
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:- 感受自然什么
- 學(xué)校班務(wù)管理工作總結(jié)
- 成長需要什么議論文600字作文
- 不文明手抄報該寫什么
- 關(guān)于五行的解釋
- 大學(xué)畢業(yè)怎么考研
- 東北師范地理考研
- 美術(shù)史考研書籍推薦
- 寫一篇關(guān)于今天發(fā)生什么事的日記
- 消失的什么作文開頭
