久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

Mysql 索引該如何設計與優化

瀏覽:88日期:2023-10-05 09:46:25
什么是索引?

數據庫索引是一種數據結構,它以額外的寫入和存儲空間為代價來提高數據庫表上數據檢索操作的速度。通俗來說,索引類似于書的目錄,根據其中記錄的頁碼可以快速找到所需的內容。——維基百科常見索引有哪些?

普通索引:最基本的索引,沒有任何限制 唯一索引:與”普通索引“類似,不同的就是:索引列的值必須是唯一,但允許有空值 主鍵索引:它是一種特殊的索引,不允許有空值 全文索引:僅可用于 MyISAM 表,針對較大的數據,生成全文索引很耗時占空間 組合索引:為了提高多條件查詢效率,可建立組合索引,遵循'最左前綴匹配原則'

這里以相對復雜的組合為例,介紹如何優化。

最左前綴匹配原則

首先我們要知道什么是最左前綴匹配原則。

最左前綴匹配原則是指在使用 B+Tree 聯合索引進行數據檢索時,MySQL 優化器會讀取謂詞(過濾條件)并按照聯合索引字段創建順序一直向右匹配直到遇到范圍查詢或非等值查詢后停止匹配,此字段之后的索引列不會被使用,這時計算 key_len 可以分析出聯合索引實際使用了哪些索引列。

如何計算 key_len

通過 key_len 計算也幫助我們了解索引的最左前綴匹配原則。

key_len 表示得到結果集所使用的選擇索引的長度[字節數],不包括 order by,也就是說如果 order by 也使用了索引則 key_len 不計算在內。

在計算 key_len 之前,先來溫習一下基本數據類型(以UTF8 編碼為例):

類型 所占空間 不允許為NULL額外占用 char 一個字符三個字節 一個字節 varchar 一個字符三個字節 一個字節 int 四個字節 一個字節 tinyint 一個字節 一個字節

測試數據表如下:

CREATE TABLE `test_table` ( `id` int(11) NOT NULL AUTO_INCREMENT, `a` int(11) DEFAULT NOT NULL, `b` int(11) DEFAULT NOT NULL, `c` int(11) DEFAULT NOT NULL, PRIMARY KEY (`id`), KEY `test_table_a_b_c_index` (`a`,`b`,`c`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

命中索引:

mysql> explain select * from test_table where a = 1 and b = 2 and c = 3;+----+-------------+------------+------------+------+------------------------+------------------------+---------+-------------------+------+----------+-------------+| id | select_type | table | partitions | type | possible_keys | key | key_len | ref| rows | filtered | Extra |+----+-------------+------------+------------+------+------------------------+------------------------+---------+-------------------+------+----------+-------------+| 1 | SIMPLE | test_table | NULL | ref | test_table_a_b_c_index | test_table_a_b_c_index | 12 | const,const,const | 1 | 100.00 | Using index |+----+-------------+------------+------------+------+------------------------+------------------------+---------+-------------------+------+----------+-------------+

可以看到 key_len = 12,這是如何計算的呢?因為字符集是 UTF8,一個字段占用四個字節,三個字段就是 4 * 3 = 12 字節。

是否允許為 NULL,如果允許為 NULL,則需要用額外的字節來標記該字段,不同的數據類型所需的字節大小不同。

mysql> ALTER TABLE `test_table` CHANGE `a` `a` INT(11) NULL;mysql> ALTER TABLE `test_table` CHANGE `c` `c` INT(11) NULL;mysql> ALTER TABLE `test_table` CHANGE `b` `b` INT(11) NULL;mysql> explain select * from test_table where a = 1 and b = 2 and c = 3;+----+-------------+------------+------------+------+------------------------+------------------------+---------+-------------------+------+----------+-------------+| id | select_type | table | partitions | type | possible_keys | key | key_len | ref| rows | filtered | Extra |+----+-------------+------------+------------+------+------------------------+------------------------+---------+-------------------+------+----------+-------------+| 1 | SIMPLE | test_table | NULL | ref | test_table_a_b_c_index | test_table_a_b_c_index | 15 | const,const,const | 1 | 100.00 | Using index |+----+-------------+------------+------------+------+------------------------+------------------------+---------+-------------------+------+----------+-------------+

可以看到,當字段允許為空時,這時的key_len 變成了15 = 4 3 + 1 3(INT 類型為空時,額外占用一個字節)。

索引優化

有了這些基礎知識之后,再來根據實際的SQL 判斷索性性能好壞。

還是以上面那張數據表為例,為 a、b、c 三個字段創建聯合索引。

SQL 語句 是否索引 explain select * from test_table where a = 1 and b = 2 and c = 3; Extra:Using index key_len: 15 explain select * from test_table where a = 1 and b = 2 and c = 3 order by c; Extra:Using index key_len: 15 explain select * from test_table where b = 2 and c = 3; Extra:Using where; Using index key_len: 15 explain select * from test_table where a = 1 order by c; Extra:Using where; Using index; Using filesort key_len: 5 explain select * from test_table order by a, b, c; Extra:Using index key_len: 15 explain select * from test_table order by a, b, c desc; Extra:Using index; Using filesort key_len:15 explain select * from test_table where a in (1,2) and b in (1,2,3) and c = 1; Extra:Using where; Using index key_len: 15

通常在查看執行計劃時, Extra 列為 Using index 則表示優化器使用了覆蓋索引。

SQL1 可以使用覆蓋索引,性能好 SQL2 可以使用覆蓋索引,同時避免排序,性能好 SQL3 可以使用覆蓋索引,但是需要根據 where 字句進行過濾 SQL4 可以使用部分索引 a,但無法避免排序,性能差 SQL5 可以完全使用覆蓋索引,同時可以避免排序,性能好 SQL6 可以使用覆蓋索引,但無法避免排序,(這是因為 MySQL InnoDB 創建索引時默認asc升序,索引無法自動倒序排序) SQL7 可以使用覆蓋索引,但是需要根據 where 子句進行過濾(非定值查詢) 創建索引規范 考慮到索引維護的成本,單張表的索引數量不超過 5 個,單個索引中的字段數不超過 5 個 不在低基數列上建⽴索引,例如“性別”。 在低基數列上創建的索引查詢相比全表掃描不一定有性能優勢,特別是當存在回表成本時。 合理創建聯合索引,(a,b,c) 相當于 (a) 、(a,b) 、(a,b,c)。 合理使用覆蓋索引減少IO,避免排序。

以上就是Mysql 索引該如何設計與優化的詳細內容,更多關于MySQL 索引設計與優化的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 色播99 | 国产做a| 国产黄色大片 | 欧美日韩国产一级片 | 日本韩国欧美一区 | 在线日韩 | 精品国产一区二区三区日日嗨 | 日韩在线播放一区二区三区 | 桃色五月 | 在线播放一级片 | 欧美精品免费在线观看 | 成人在线免费 | 午夜视频免费 | 一级欧美一级日韩 | 在线观看国精产品二区1819 | av一区二区在线观看 | 国产亚洲精品久久久优势 | 久久久久久久一区 | 国产一级片a| 国产精品亚洲一区二区三区 | 久色视频在线观看 | 欧美一区永久视频免费观看 | 国产在线精品一区 | 国产成人精品久久二区二区 | 暖暖日本在线视频 | 久久国产精品系列 | 国产一区二区免费 | 国产视频成人 | 久久国产香蕉视频 | 亚洲色图在线播放 | 日韩欧美一区二区三区久久婷婷 | 91.成人天堂一区 | 精品视频在线视频 | 亚洲成人中文字幕 | 国产精品高潮呻吟av久久4虎 | 91亚洲狠狠婷婷综合久久久 | 成人国产精品久久久 | 日韩精品一区二区三区 | 天天影视综合 | 亚洲欧美中文日韩在线v日本 | 最新国产福利在线 | 中文字幕在线观看精品视频 | 欧美午夜视频在线观看 | 欧美亚洲一区二区三区 | 毛片在线视频 | 国产高清视频在线观看 | 久久精品99 | 91精品亚洲 | 久热精品视频 | 一区二区三区国产亚洲网站 | 欧美精品久久久 | 欧美 日韩 在线播放 | 国产午夜精品一区二区三区嫩草 | 久久久久国产精品一区二区三区 | 天天拍天天干天天操 | 欧美最猛性xxxxx亚洲精品 | 91久久爽久久爽爽久久片 | 乳色吐息在线观看 | 国产成人啪精品午夜在线观看 | 日韩喷潮 | 欧美在线视频一区 | 日韩视频www| 色播99 | 国产精品久久嫩一区二区 免费 | 国内精品视频一区国产 | 久热精品在线视频 | 欧美一区二区三区在线观看视频 | 成人一级毛片 | 99精品国产在热久久 | a欧美| 一区久久 | 亚洲一区二区三区在线免费观看 | 国产大片黄色 | 久热免费在线观看 | 日日夜夜天天干干 | 国产视频久久 | 久久精品| 99热日本 | 91精品久久久久久久99 | 精品久久久久久久久久久久久久久 | 最新中文字幕在线资源 | 国产精品视屏 | 日韩视频在线观看 | 久久精品一区二区三区四区 | 97久久香蕉国产线看观看 | 亚洲网站在线 | 国产日韩欧美亚洲 | 国产精品永久免费 | 亚洲国产精品久久 | 午夜影院免费体验区 | 久草观看 | 久久99精品久久久久久噜噜 | 精品少妇一区二区三区日产乱码 | 一区二区三区免费在线 | 国产在线中文字幕 | 99精品全国免费观看视频软件 | 国产99久久 | 欧美久久视频 | 欧美一区2区三区4区公司二百 | 日韩91| 国产精品视频免费观看 | 中文一区 | 久久国产精品久久久久久久久久 | 日本一级毛片免费看 | 午夜久久久 | 不卡一区 | 亚洲中国字幕 | 国产精品成人一区二区三区夜夜夜 | 国产精品福利在线观看 | 成人久久久精品乱码一区二区三区 | 国产精品黄网站在线观看 | 国产精品视频久久久 | 91在线免费看 | av一道本 | 亚洲伦理在线 | 日韩综合在线 | 免费的黄色网 | 国产乱码精品一品二品 | 天天干夜夜操 | 亚洲伦理一区 | 国产精品美女在线观看 | av在线一区二区 | 日韩av成人 | 久久精品99 | 国产一区二区在线免费观看 | 操久在线 | 亚洲九九 | 亚洲怡红院在线观看 | 一区二区三区在线看 | 久草久| 国厂黄色片 | 日韩欧美在线看 | 婷婷成人在线 | 亚洲精品乱码久久久久久久久 | 日韩在线中文字幕 | 午夜精品一区二区三区在线 | 欧美一级在线观看 | 国产在线视频网站 | 欧美一级二级视频 | 日韩欧美在线视频免费观看 | 日韩国产欧美一区 | 激情99 | 狠狠操夜夜操天天操 | 亚洲精品一区二区三区精华液 | a级黄色在线观看 | 性人久久精品 | 久久九九这里只有精品 | 国产精品久久久一区 | 欧美三区 | 精品久久一区二区 | 欧美一区二区三区在线视频 | 一本一本久久a久久精品综合妖精 | 亚洲欧洲一区二区三区 | 欧美日韩在线免费观看 | 国内精品一区二区三区 | 亚洲777| 老司机深夜福利在线观看 | 日本国产一区二区 | 日本欧美久久久久 | 五月婷亚洲 | 成人免费的视频 | 日韩精品一区二区三区免费观看视频 | 精品香蕉一区二区三区 | 国产精品久久久久久久天堂 | 久久精品视频一区 | 午夜黄色av| 91精品国产福利在线观看 | 激情欧美一区二区 | 狠狠se | 欧美日韩免费一区二区三区 | 欧美精品v国产精品v日韩精品 | 97久久久 | 亚洲精品高清视频 | 亚洲一区二区三区免费 | 欧美三级网 | 亚洲一区精品在线 | 成人三级网址 | 精品久久一二三区 | 久久av一区二区三区 | 99爱精品在线 | 91免费影视 | 日韩精品一区二区三区老鸭窝 | 91久久久久 | 求av网站 | 亚州av在线 | 午夜高清视频 | 激情国产| 日本激情视频在线播放 | 日韩在线观看成人 | 国产高清精品一区二区三区 | 国产精品永久 | av在线精品| 日韩在线观看高清 | 国产亚洲一区二区精品 | 精品伊人 | 成人欧美一区二区三区在线播放 | 一区二区三区免费在线 | 国产成人99 | 久久综合一区二区三区 | 91免费观看在线 | 国内在线精品 | 国产精品入口久久 | 色必久久| 日韩一区二区三区精品 | 国产色婷婷精品综合在线播放 | 视频专区一区二区 | 国产亚洲一区二区在线 | www.久久久.com | 日韩在线播放一区 | 中文字幕日韩久久 | 国产精品资源在线 | 欧美在线| 亚洲精品一区二区 | 久久精品国产精品青草 | 一级毛片免费播放 | 国产乱码精品一区二区三区忘忧草 | 国产人免费人成免费视频 | 成人a网 | 亚洲免费在线播放 | 天天夜夜操 | 伊人网网站 | 亚洲一区二区三区视频 | 日日干夜夜骑 | 日韩精品一区在线 | 亚洲一区二区三区免费在线 | 91免费电影 | 国产一区二区视频在线观看 | 亚洲四区| 91视频www| 国产精品一区二区三区免费 | 精品欧美一区二区在线观看 | 日韩一区二区不卡 | 久久福利 | 国产在线色 | 欧美久久a | 精品久久久久久久久久久久久久 | 精品日韩一区二区三区 | 精品亚洲一区二区三区在线观看 | 成人av免费在线 | 亚洲精品不卡 | 欧美国产日韩一区 | 欧美不卡一区二区三区 | 黄视频免费在线 | 曰本人一级毛片免费完整视频 | 国产欧美久久久久久 | 国产精品成人av | 99热新| 国产精品久久久久久久久久99 | 国产精品欧美一区二区三区不卡 | 99精品网站 | 欧美日本一区 | 免费观看国产精品 | 国产精品一二三四区 | 中文字幕在线播放一区 | 一级黄色片网站 | 国产成人av免费 | 精品 99 | 欧美午夜三级视频 | 99成人| 91中文字幕网 | 一区二区三区在线播放 | 午夜精品久久久久久久久久久久 | 免费的日本网站 | 欧美三级网址 | 在线免费毛片 | 在线成人一区 | 男人的天堂亚洲 | 亚洲午夜精品一区二区三区他趣 | 精品视频一区二区三区 | 日韩www| 日本亚洲一区 | 久久久国产一区二区 | 国产精品久久二区 | 99爱爱视频 | 搞黄免费视频 | 久久久久久久久久久久福利 | h视频免费在线 | 羞羞视频网站在线免费观看 | a国产在线 | www.av欧美| 日韩中文字幕 | 越南性xxxx精品hd | 亚洲毛片在线观看 | 国产一区 | 免费黄色在线观看 | 毛片黄片 | 久久久亚洲 | 国产成人精品一区二 | 国产成人精品av | 日韩电影一区二区在线观看 | aaa大片免费观看 | 国产伦精品一区二区三区四区视频 | 久草视频在线播放 | 中文字幕在线免费 | 国产51人人成人人人人爽色哟哟 | 少妇一级淫免费放 | 91中文字幕在线观看 | 国产精品一二三区 | 免费观看视频毛片 | 中文字幕在线第一页 | 亚洲国产精品成人久久久 | 日韩激情一区二区三区 | 国产一区二区电影 | 黄色片视频免费 | 亚洲美女一区二区三区 | 欧美一区二区三区在线 | 欧美午夜精品一区二区三区电影 | 黄色一级网址 | 久久久国产精品入口麻豆 | 狠狠艹| 日韩精品一区二区三区第95 | 91精品国产一区二区三区香蕉 | 免费久久久久 | 黑人粗黑大躁护士 | 天堂在线中文字幕 | 在线成人av | 国产不卡免费视频 | 亚洲精品久久久久avwww潮水 | 欧美一级在线播放 | 亚洲精品网址 | 精品国产不卡一区二区三区 | 午夜欧美一区二区三区在线播放 | 欧美∨a | 天天干天天摸 | 成人影院网站ww555久久精品 | 黄色小视频在线观看 | 交视频在线观看国产 | 久久免费精品 | 亚洲精品国产电影 | 一区在线视频 | 欧美在线观看一区 | 亚洲精品国精品久久99热 | www操com| 国产成人精品无人区一区 | 男女做爰高清无遮挡免费视频 | 国产高清一区二区 | 久久99久久久久久 | 久久久精品一区 | 久久一区二区三区四区 | 免费一区二区三区 | 欧美区视频 | 国产伦精品一区二区三区四区视频 | 色综合国产 | 欧美大片在线看免费观看 | 特级毛片| 久久一| 国产毛片在线看 | 久久久久久香蕉 | 国产精品美女www爽爽爽软件 | 国产精品久久久久久久竹霞 | 国产一区二区三区精品久久久 | 亚洲精品久久久久久久久久久 | 成人免费视频网站在线观看 | 欧美精品在线一区二区 | 一级欧美一级日韩片 | 欧美区视频 | 免费视频一区 | 成人免费视频网站在线观看 | 日韩午夜av| 中文一区 | 成人在线免费小视频 | 国产91av视频在线观看 | 国产欧美一二三区在线粉嫩 | 国产拍拍视频 | 一区二区三区久久 | 精品久久久蜜桃 | 在线观看亚洲视频 | 日韩靠逼 | 毛片国产 | 天天插天天干 | jizz欧美大片 | 国产成人亚洲综合 | 中文字幕一区在线观看视频 | 福利视频三区 | 中文字幕亚洲一区 | 成人高清在线观看 | 久久久久国产精品一区二区三区 | 无毒黄网 | 99精品国产高清一区二区麻豆 | 国产伦精品一区二区三区在线 | av观看| 日韩精品久久久久久 | 国家aaa的一级看片 h片在线看 | 中文字幕在线观看 | 亚洲欧美在线观看 | 久久亚洲一区二区三区四区五区高 | 欧美天堂 | 国产视频精品自拍 | 久草天堂| 国产高清在线观看 | 午夜精品久久久久久久星辰影院 | 国产精品视频免费 | 国产精品久久久久久久久久久新郎 | 国产成人精品久久 | 亚洲高清免费 | 99国产精品99久久久久久 | 在线观看视频一区二区 | 91日日 | 久久久久国产亚洲日本 | 成人午夜剧场 | 日韩成人精品在线 | 亚洲一区 日韩精品 中文字幕 | 国产精品成人国产乱一区 | 天堂网色| 国产成人 综合 亚洲 | 美女久久| 日韩精品专区在线影院重磅 | 欧美成年黄网站色视频 | 免费黄在线观看 | 奇米在线视频 | 国产精品中文字幕在线播放 | 高清国产午夜精品久久久久久 | 中文字幕av亚洲精品一部二部 | 欧美在线综合视频 | 国产视频精品一区二区三区 | 欧美一级片在线 | 视频一区二区三区中文字幕 | 国产高清精品一区 | 久久99精品国产麻豆婷婷洗澡 | 综合一区二区三区 | 日韩成人影院 | 国产精品国色综合久久 | 欧美久久一区二区三区 | 波多野结衣亚洲 | 国产成人在线播放 | 一区二区三区四区精品 | 成年人在线看 | av自拍 | www.久草| 国产精品成人在线观看 | 日韩综合一区 | 一区二区三区四区免费 | 在线观看毛片网站 | 亚洲精品电影 | 9久久 | 91高清在线 | 亚洲三级在线看 | 天天噜天天干 | 久久精品国产亚洲blacked | www.44181com| 欧美激情专区 | 成人免费av | 久久久久一区二区三区 | 欧美视频网站 | 欧美成人一区二区三区片免费 | 国产美女精品 | 精品九九九| 国产成人av网站 | 91在线观| 亚洲欧洲日本国产 | 天天看天天爽 | 海外中文字幕在线观看 | 久久久一区二区 | 自拍偷拍专区 | 成人性大片免费观看网站 | 久久99精品国产99久久6尤 | 亚洲国产成人久久 | 欧美亚洲专区 | 亚洲精品一区 | 欧美精品区 | 亚洲嫩草 | 中文字幕亚洲欧美 | 亚洲久草 | 五月在线视频 | 欧美一级片在线 | 久久亚洲天堂 | 精品久久久久久久久久久 | 一区二区三区中文字幕 | 欧美一区二区在线播放 | 日韩1区 | 视频二区 | 欧美黑人一级爽快片淫片高清 | 超碰在线99 | 欧美精品一区自拍a毛片在线视频 | av在线免费看片 | 午夜影院a | 欧美极品视频 | 六月丁香在线观看 | 国产一级片a | 一区二区日本 | 四虎成人永久 | 国产精品久久久精品 | 精品成人免费一区二区在线播放 | 久久精品一 | 夜添久久精品亚洲国产精品 | 国产在线观看一区 | 欧美精品一区二区在线观看 | 中文字字幕一区二区三区四区五区 | 国产精品一区二区三区在线 | 精品日韩 | 羞羞视频网站在线看 | av电影天堂网 | 成人av观看 | 男女中文字幕 | 国产激情性色视频在线观看 | 久久综合热 | 国产午夜精品美女视频明星a级 | 超碰人人在线 | 午夜影视免费观看 | 欧美精品激情 | 国产在线一区二区三区 | 激情久久av一区av二区av三区 | 蜜月久久99静品久久久久久 | 中文字幕精品一区 | 久久久久久一区二区 | 日本国产一区二区 | 天天操天天添 | 99久久久 | 国产免费一级特黄录像 | 日韩精品在线观看一区 | 成人精品| 热久久免费视频 | 久久伊| 久久久www | 国产一区二区三区久久 | 一区二区免费视频 | 爱爱视频免费 | 亚洲视频在线观看免费 | 综合视频一区二区三区 | 久久久久久1 | 97精品国产| 9191在线 | 国产精品一区二区三区在线 | 久久精品久久久 | 综合99 | 久久777| 日韩中文字幕三区 | a级毛片免费高清视频 | 国产 高清 在线 | 欧美视频一级片 | 粉嫩视频在线观看 | 国产精品人人做人人爽人人添 | 久久亚洲国产视频 | 999精品视频 | 日韩国产在线播放 | 一区二区三区成人 | 91精品一区二区 | 成人精品视频在线观看 | 久久久久久国产 | 精品美女在线观看视频在线观看 | 欧美一区二区三区在线观看视频 | 久草热8精品视频在线观看 黄色片网站视频 | 成人国产精品久久久 | 99re视频在线 | 五月激情综合网 | 在线看国产 | 草草影院ccyycom| 色天天综合网 | 亚洲大片69999| 日韩精品久久理论片 | 久久精品成人 | 精品免费国产 | 欧美日韩激情一区二区三区 | 亚洲高清一区二区三区 | 精品国产91乱码一区二区三区 | 国产在线日韩 | 亚洲国产精品综合久久久 | 91爱爱网| 国产高清一区二区 | 亚洲最黄视频 | 精品国产欧美一区二区三区成人 | 亚洲不卡在线 | 天天操天天插 | 亚洲免费视频在线观看 | 亚洲国产精品区 | 精品一区二区三区三区 | 国产成人中文字幕 | 九色porny丨国产精品 | 巨大黑人极品videos精品 | 国产在线乱 | 欧美视频在线观看 | 国产在线观看一区二区 | 99精品欧美一区二区三区综合在线 | 日韩快播电影网 | 狠狠的干 | 99精品热 | 九九色影院 | 亚洲精品一区二三区不卡 | 欧美在线视频一区二区 | 国产专区一区 | 在线成人一区 | 亚洲啊v| 自拍一区视频 | 亚洲一区二区伦理 | 亚洲精品色 | 毛片免费观看视频 | 成人在线播放 | 久久99这里只有精品 | 欧美精品导航 | 青青草一区 | 午夜精品一区二区三区在线观看 | 精品中文字幕在线 | 久久91精品国产 | 免费无遮挡www小视频 | 成人一二三区 | 国产一区二区三区四区在线观看 | 精品96久久久久久中文字幕无 | 欧美日韩成人一区 | 欧美精品网 | 欧美日韩在线视频一区二区 | 色婷婷av久久久久久久 | 国产精品国产精品国产专区不卡 | 免费久久久久 | 国产精品自产拍在线观看 | 国产精品福利网站 | 亚洲黄色av网站 | igao视频| 性免费网站 | 国产精品美女久久久久aⅴ国产馆 | 日韩一区二区三区精品 | 欧美精品在线观看 | 福利网址 | 黄色网亚洲 | 国产黄色播放 | 亚洲九九 |