| <!doctype html><html lang=en-US dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-query-acceleration/dictionary" data-has-hydrated=false><meta charset=UTF-8><meta name=viewport content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"><meta name=generator content="Docusaurus v3.6.3"><link rel=alternate type=application/rss+xml href=/blog/rss.xml title="Apache Doris RSS Feed"><link rel=alternate type=application/atom+xml href=/blog/atom.xml title="Apache Doris Atom Feed"><link rel=preconnect href=https://analytics.apache.org/><script>var _paq=window._paq=window._paq||[];_paq.push(["setRequestMethod","POST"]),_paq.push(["trackPageView"]),_paq.push(["enableLinkTracking"]),_paq.push(["enableHeartBeatTimer"]),function(){var e="https://analytics.apache.org/";_paq.push(["setRequestMethod","POST"]),_paq.push(["setTrackerUrl",e+"matomo.php"]),_paq.push(["setSiteId","43"]);var t=document,a=t.createElement("script"),r=t.getElementsByTagName("script")[0];a.type="text/javascript",a.async=!0,a.src=e+"matomo.js",r.parentNode.insertBefore(a,r)}(),function(){var e,t="doris";try{var a=localStorage.getItem("doris-brand-theme");-1!==["doris","golden","blue","read","yellow-blue","purple","yellow-black","sky"].indexOf(a)&&(t=a)}catch(e){}document.documentElement.setAttribute("data-brand-theme",t);var r='script[data-website-id="a5fb90df-217a-4097-95c0-80490220314b"]',o={doris:"#11A679",golden:"#7B2CBF",blue:"#2C2C34",read:"#121212","yellow-blue":"#0066FF",purple:"#7255A5","yellow-black":"#000000",sky:"#3778B0"}[t];function n(t){if(1!==t.nodeType)return!1;var a=t.matches&&t.matches(r)?t:t.querySelector&&t.querySelector(r);return!!a&&(a.setAttribute("data-project-color",o),e&&e.disconnect(),!0)}(e=new MutationObserver(function(e){e.some(function(e){return Array.prototype.some.call(e.addedNodes,n)})})).observe(document.documentElement,{childList:!0,subtree:!0}),n(document.documentElement)}(),function(){try{"true"===localStorage.getItem("doris-101-rail-collapsed")&&document.documentElement.setAttribute("data-course-rail","collapsed")}catch(e){}}()</script><link rel=stylesheet href=/css/katex.min.css><script src=/js/custom-script.js></script><script async src=https://widget.kapa.ai/kapa-widget.bundle.js data-website-id=a5fb90df-217a-4097-95c0-80490220314b data-modal-title="Apache Doris AI" data-project-name="Apache Doris Website" data-button-hide=true data-modal-override-open-selector=#navbar-ask-ai-btn data-project-logo=https://cdn.selectdb.com/static/doris_1_3c42247c63.png data-modal-image=https://cdn.selectdb.com/static/doris_logo_cc5a30d886.png data-project-color=#11A679 data-modal-disclaimer="This is a custom LLM with access to all [Doris documentation](https://doris.apache.org/docs/4.x/gettingStarted/what-is-apache-doris)." data-consent-required data-consent-screen-disclaimer="By clicking &quot;I agree, let's chat&quot;, you consent to the use of the AI assistant in accordance with kapa.ai's [Privacy Policy](https://www.kapa.ai/content/privacy-policy). This service uses reCAPTCHA, which requires your consent to Google's [Privacy Policy](https://policies.google.com/privacy) and [Terms of Service](https://policies.google.com/terms). By proceeding, you explicitly agree to both kapa.ai's and Google's privacy policies." data-bot-protection-mechanism=hcaptcha></script><title data-rh=true>Accelerate JOIN Queries with Dictionaries - Apache Doris</title><meta data-rh=true name=viewport content="width=device-width,initial-scale=1.0"><meta data-rh=true name=twitter:card content=summary_large_image><meta data-rh=true property=og:url content=https://doris.apache.org/docs/dev/query-acceleration/dictionary/><meta data-rh=true property=og:locale content=en_US><meta data-rh=true property=og:locale:alternate content=zh_Hans-CN><meta data-rh=true name=docusaurus_locale content=en><meta data-rh=true name=docsearch:language content=en><meta data-rh=true name=docusaurus_version content=current><meta data-rh=true name=docusaurus_tag content=docs-default-current><meta data-rh=true name=docsearch:version content=current><meta data-rh=true name=docsearch:docusaurus_tag content=docs-default-current><meta data-rh=true property=og:title content="Accelerate JOIN Queries with Dictionaries - Apache Doris"><meta data-rh=true name=description content="Use Doris Dictionaries to convert dimension-table JOINs into in-memory key-value lookups and speed up query performance."><meta data-rh=true property=og:description content="Use Doris Dictionaries to convert dimension-table JOINs into in-memory key-value lookups and speed up query performance."><meta data-rh=true name=keywords content="Doris Dictionary,Dictionary,JOIN acceleration,dimension table query,dict_get,HASH_MAP,IP_TRIE,KV lookup"><link data-rh=true rel=icon href=/images/favicon.ico><link data-rh=true rel=canonical href=https://doris.apache.org/docs/dev/query-acceleration/dictionary/><link data-rh=true rel=alternate href=https://doris.apache.org/docs/dev/query-acceleration/dictionary/ hreflang=en-US><link data-rh=true rel=alternate href=https://doris.apache.org/zh-CN/docs/dev/query-acceleration/dictionary/ hreflang=zh-Hans-CN><link data-rh=true rel=alternate href=https://doris.apache.org/docs/dev/query-acceleration/dictionary/ hreflang=x-default><link rel=stylesheet href=https://cdnd.selectdb.com/assets/css/styles.657577f9.css><link rel=preload href=https://cdnd.selectdb.com/assets/js/runtime~main.0b65bd9d.js as=script><link rel=preload href=https://cdnd.selectdb.com/assets/js/main.d41424c3.js as=script><body class=navigation-with-keyboard><script>!function(){var t,e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t=null!==e?e:"light",document.documentElement.setAttribute("data-theme",t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus> |
| <div role=region aria-label="Skip to main content"><a class=skipToContent_fXgn href=#__docusaurus_skipToContent_fallback>Skip to main content</a></div><nav class="navbar navbar--fixed-top navbar-next"><div class=navbar-next__inner><a class=navbar-next__logo aria-label="Apache Doris" href=/><svg class=navbar-next__logo-mark viewBox="40 55 238 83" fill=#fff aria-hidden=true focusable=false><path d=M77.24,68.09l-8.85-8.85c-2.35-2.35-5.54-3.63-8.64-3.63-2.88,0-5.76,1.07-8,3.2-2.24,2.24-3.52,5.12-3.52,8.32s1.17,6.08,3.41,8.32l16.1,16.1c.64.64,1.81.64,2.56,0l6.93-6.93c.43-.53,7.78-8.85,0-16.53Z /><path d=M91.85,82.27c-1.71-1.6-3.41-3.31-5.01-5.22l-.11-.11c0,.11-.11.32-.11.53-.64,3.84-2.45,7.25-5.44,10.24-9.38,9.28-18.87,18.87-28.04,28.04l-1.17,1.17c-2.13,2.13-3.31,4.37-3.63,6.61-.43,3.41.75,7.25,3.31,10.02,2.24,2.45,5.22,3.73,8.42,3.62,3.63.11,5.44-.43,8.1-2.98,10.66-10.45,21.32-21,29.43-29,3.84-3.84,4.69-10.02,2.03-14.29-2.24-3.31-5.01-5.97-7.78-8.64Z /><path d=M40.25,76.73v39.34c0,1.07.75,1.71,1.39,2.03.64.32,1.6.32,2.35-.43l19.83-19.83c.75-.75.75-2.03,0-2.88l-19.83-19.83c-.43-.43-1.07-.64-1.49-.64-.32,0-.64.11-.85.21-.64.32-1.39.96-1.39,2.03Z /><path d=M126.61,113.08v-33.37h9.92c10.87,0,17.59,6.4,17.59,16.63s-6.72,16.63-17.59,16.63h-9.92v.11ZM131.94,108.29h4.8c7.36,0,12.05-4.69,12.05-11.83s-4.69-11.83-12.05-11.83h-4.8v23.67Z /><path d=M177.89,113.62c-9.6,0-17.38-7.78-17.38-17.27s7.78-17.17,17.38-17.17,17.38,7.57,17.38,17.17c.11,9.7-7.57,17.27-17.38,17.27ZM177.89,84.08c-6.61,0-12.05,5.44-12.05,12.26s5.44,12.37,12.05,12.37,12.15-5.65,12.15-12.37-5.44-12.26-12.15-12.26Z /><path d=M244.42,79.71h-5.44v33.37h5.44v-33.37Z /><path d=M264.57,113.62c-4.69,0-8.53-1.39-10.24-2.24v-4.9c2.35,1.07,6.08,2.35,10.24,2.35s7.14-1.92,7.14-4.8c0-3.2-3.52-4.58-7.14-5.86-5.76-2.13-10.13-4.16-10.13-9.7,0-6.82,6.18-9.28,11.52-9.28,4.05,0,7.25,1.07,8.74,1.6v4.8c-2.13-.85-5.33-1.81-8.85-1.81-4.05,0-5.97,2.13-5.97,4.26,0,2.88,3.09,3.94,6.72,5.22,6.29,2.24,11.09,4.48,11.09,10.45-.11,5.86-5.44,9.92-13.11,9.92Z /><path d=M219.9,99.54l2.03-.85c2.77-1.17,5.97-4.26,5.97-9.06,0-5.97-4.37-9.92-10.98-9.92h-12.69v33.37h5.33v-28.68h6.72c4.05,0,6.18,2.99,6.18,5.86s-2.13,5.86-6.18,5.86h-2.88c-1.28.21-.64,1.28-.64,1.28l10.77,15.57h5.97l-9.6-13.43Z /></svg></a><div class=navbar-next__nav><div class=navbar-next__item><button class=navbar-next__trigger type=button aria-haspopup=true>Why Doris<svg class=navbar-next__chevron viewBox="0 0 16 16" fill=none aria-hidden=true><path d="M4 6l4 4 4-4" stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round /></svg></button><div class=navbar-next__dropdown><a class=navbar-next__dropdown-link href=/why-doris/compare/>Doris vs. Others</a><a class=navbar-next__dropdown-link href=/why-doris/benchmarks/>Benchmarks</a><a class=navbar-next__dropdown-link href=/why-doris/key-features/>Key Features</a><a class=navbar-next__dropdown-link href=/why-doris/users/>User Stories</a></div></div><div class=navbar-next__item><button class=navbar-next__trigger type=button aria-haspopup=true>Use Cases<svg class=navbar-next__chevron viewBox="0 0 16 16" fill=none aria-hidden=true><path d="M4 6l4 4 4-4" stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round /></svg></button><div class=navbar-next__dropdown><a class=navbar-next__dropdown-link href=/use-cases/customer-facing-analytics/>Customer-Facing Analytics</a><a class=navbar-next__dropdown-link href=/use-cases/data-warehousing/>Data Warehousing</a><a class=navbar-next__dropdown-link href=/use-cases/observability/>Observability</a><a class=navbar-next__dropdown-link href=/use-cases/ai/>Doris for AI</a></div></div><div class=navbar-next__item><button class=navbar-next__trigger type=button aria-haspopup=true>Docs<svg class=navbar-next__chevron viewBox="0 0 16 16" fill=none aria-hidden=true><path d="M4 6l4 4 4-4" stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round /></svg></button><div class=navbar-next__dropdown><a class=navbar-next__dropdown-link href=/docs/dev/getting-started/what-is-apache-doris/>Dev</a><a class=navbar-next__dropdown-link href=/docs/4.x/getting-started/what-is-apache-doris/>4.x</a><a class=navbar-next__dropdown-link href=/docs/3.x/gettingStarted/what-is-apache-doris/>3.x</a><a class=navbar-next__dropdown-link href=/docs/2.1/gettingStarted/what-is-apache-doris/>2.1</a></div></div><div class=navbar-next__item><button class=navbar-next__trigger type=button aria-haspopup=true>Resources<svg class=navbar-next__chevron viewBox="0 0 16 16" fill=none aria-hidden=true><path d="M4 6l4 4 4-4" stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round /></svg></button><div class=navbar-next__dropdown><a class=navbar-next__dropdown-link href=/releases/all-release/>Release Notes</a><a class=navbar-next__dropdown-link href=/blog/>Blogs</a><a class=navbar-next__dropdown-link href=/course/>Course</a><a class=navbar-next__dropdown-link href=/profile-analysis/>Profile Analysis</a></div></div><div class=navbar-next__item><button class=navbar-next__trigger type=button aria-haspopup=true>Community<svg class=navbar-next__chevron viewBox="0 0 16 16" fill=none aria-hidden=true><path d="M4 6l4 4 4-4" stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round /></svg></button><div class=navbar-next__dropdown><a class=navbar-next__dropdown-link href=/community-report/>Community Report</a><a class=navbar-next__dropdown-link href=/community/roadmap/>Roadmap</a><a class=navbar-next__dropdown-link href=/community/join-community/>Build with Us</a><a href=https://github.com/apache/doris/discussions target=_blank rel="noopener noreferrer" class=navbar-next__dropdown-link>Join GitHub Discussions</a></div></div></div><div class=navbar-next__actions><details class=brand-theme-switcher><summary aria-label="Color theme: Doris Green" title="Change color theme"><svg viewBox="0 0 20 20" fill=none aria-hidden=true><path d="M10 2.25a7.75 7.75 0 1 0 0 15.5h1.05a1.7 1.7 0 0 0 1.2-2.9l-.35-.35a1.7 1.7 0 0 1 1.2-2.9h1.1A3.55 3.55 0 0 0 17.75 8 7.75 7.75 0 0 0 10 2.25Z" stroke=currentColor stroke-width=1.5 /><circle cx=6.4 cy=8 r=1 fill=currentColor /><circle cx=9 cy=5.5 r=1 fill=currentColor /><circle cx=12.5 cy=6 r=1 fill=currentColor /></svg></summary><div class=brand-theme-switcher__menu role=group aria-label="Color theme"><button type=button class=brand-theme-switcher__option aria-pressed=true><span class=brand-theme-switcher__swatches aria-hidden=true><span style=background-color:#11A679></span><span style=background-color:#FFD23F></span></span><span>Doris Green</span><span class=brand-theme-switcher__check aria-hidden=true>✓</span></button><button type=button class=brand-theme-switcher__option aria-pressed=false><span class=brand-theme-switcher__swatches aria-hidden=true><span style=background-color:#7B2CBF></span><span style=background-color:#F9D308></span></span><span>Golden</span><span class=brand-theme-switcher__check aria-hidden=true></span></button><button type=button class=brand-theme-switcher__option aria-pressed=false><span class=brand-theme-switcher__swatches aria-hidden=true><span style=background-color:#2C2C34></span><span style=background-color:#00D4FF></span></span><span>Steel Cyan</span><span class=brand-theme-switcher__check aria-hidden=true></span></button><button type=button class=brand-theme-switcher__option aria-pressed=false><span class=brand-theme-switcher__swatches aria-hidden=true><span style=background-color:#121212></span><span style=background-color:#FF4500></span></span><span>Lava & Black</span><span class=brand-theme-switcher__check aria-hidden=true></span></button><button type=button class=brand-theme-switcher__option aria-pressed=false><span class=brand-theme-switcher__swatches aria-hidden=true><span style=background-color:#0066FF></span><span style=background-color:#FFD300></span></span><span>Victory Blue</span><span class=brand-theme-switcher__check aria-hidden=true></span></button><button type=button class=brand-theme-switcher__option aria-pressed=false><span class=brand-theme-switcher__swatches aria-hidden=true><span style=background-color:#B19CD9></span><span style=background-color:#D3D3D3></span></span><span>Lilac Mist</span><span class=brand-theme-switcher__check aria-hidden=true></span></button><button type=button class=brand-theme-switcher__option aria-pressed=false><span class=brand-theme-switcher__swatches aria-hidden=true><span style=background-color:#000000></span><span style=background-color:#FFD700></span></span><span>Obsidian Gold</span><span class=brand-theme-switcher__check aria-hidden=true></span></button><button type=button class=brand-theme-switcher__option aria-pressed=false><span class=brand-theme-switcher__swatches aria-hidden=true><span style=background-color:#89C2FF></span><span style=background-color:#E6F7FF></span></span><span>Sky Mist</span><span class=brand-theme-switcher__check aria-hidden=true></span></button></div></details><a href=https://apache-doris-summit.org/ target=_blank rel="noopener noreferrer" class=navbar-next__summit aria-label="Visit Doris Summit 2026 (opens in a new tab)"><span>Doris Summit 26</span></a><button type=button id=navbar-ask-ai-btn class=navbar-next__ask-ai aria-label="Ask Me" aria-busy=false aria-disabled=false data-kapa-trigger=true><span class="navbar-next__ask-ai-icon navbar-next__ask-ai-icon--full"><svg width=18 height=18 viewBox="0 0 18 18" fill=none><path d="M7.35457 0.574461C7.42306 0.423027 7.5322 0.292956 7.67018 0.198317C7.80816 0.103677 7.96974 0.04807 8.13742 0.037509C8.30511 0.026948 8.47253 0.0618351 8.62158 0.138397C8.77063 0.21496 8.89564 0.330283 8.98308 0.471896L9.03778 0.574461L9.98672 2.68378C10.8161 4.52515 12.1952 6.07276 13.9397 7.11968L14.2337 7.28972L15.9197 8.2263C16.0536 8.30049 16.1666 8.40653 16.2484 8.53479C16.3302 8.66304 16.3783 8.80945 16.3882 8.96069C16.3981 9.11194 16.3696 9.26323 16.3052 9.40083C16.2408 9.53842 16.1426 9.65796 16.0195 9.74857L15.921 9.81064L14.2337 10.7472C12.454 11.7355 11.0224 13.2365 10.1303 15.0495L9.98672 15.3532L9.03641 17.4625C8.96778 17.6136 8.85866 17.7433 8.72081 17.8377C8.58296 17.9321 8.42162 17.9876 8.25418 17.9982C8.08674 18.0087 7.91956 17.9739 7.77066 17.8976C7.62177 17.8213 7.49681 17.7063 7.40926 17.565L7.35457 17.4625L6.40426 15.3532C5.57484 13.5118 4.19572 11.9643 2.45124 10.9173L2.15726 10.7472L0.471311 9.81064C0.337321 9.73674 0.224189 9.63093 0.142217 9.50285C0.0602439 9.37477 0.0120344 9.22849 0.00197753 9.07732C-0.00807937 8.92615 0.0203358 8.7749 0.0846359 8.63734C0.148936 8.49978 0.247078 8.38028 0.370127 8.28972L0.468577 8.22765L2.15589 7.29107C3.93569 6.30285 5.36732 4.80183 6.25932 2.98877L6.40289 2.68513L7.3532 0.57581L7.35457 0.574461ZM15.6899 0.130465C16.1425 1.14532 16.9145 1.98914 17.8914 2.53668C17.9244 2.55517 17.9518 2.58196 17.9709 2.61432C17.9899 2.64668 18 2.68345 18 2.72089C18 2.75833 17.9899 2.7951 17.9709 2.82745C17.9518 2.85981 17.9244 2.8866 17.8914 2.9051C16.9145 3.45264 16.1425 4.29645 15.6899 5.31131C15.6731 5.3501 15.645 5.38315 15.6093 5.40638C15.5736 5.4296 15.5317 5.44198 15.4889 5.44198C15.4462 5.44198 15.4043 5.4296 15.3686 5.40638C15.3329 5.38315 15.3048 5.3501 15.2879 5.31131C14.8352 4.29695 14.0632 3.45364 13.0865 2.90645C13.0532 2.88805 13.0255 2.86122 13.0062 2.82872C12.9869 2.79622 12.9767 2.75923 12.9767 2.72156C12.9767 2.68389 12.9869 2.6469 13.0062 2.6144C13.0255 2.58191 13.0532 2.55508 13.0865 2.53668C14.0636 1.98879 14.8357 1.14448 15.2879 0.129116C15.305 0.0907214 15.3331 0.0580664 15.3686 0.035138C15.4042 0.0122096 15.4458 0 15.4883 0C15.5308 0 15.5723 0.0122096 15.6079 0.035138C15.6435 0.0580664 15.6715 0.0907214 15.6886 0.129116V0.130465H15.6899Z" fill=var(--brand-primary) /></svg></span><svg class="navbar-next__ask-ai-icon navbar-next__ask-ai-icon--compact" width=15 height=15 viewBox="0 0 16 16" fill=none aria-hidden=true><path d="M8 2v2.25" stroke=currentColor stroke-width=1.5 stroke-linecap=round /><circle cx=8 cy=1.5 r=1.1 fill=currentColor /><rect x=2.75 y=4.5 width=10.5 height=8.5 rx=2.25 stroke=currentColor stroke-width=1.5 /><circle cx=6 cy=8.75 r=1.15 fill=currentColor /><circle cx=10 cy=8.75 r=1.15 fill=currentColor /><path d="M.75 7.75v2.5M15.25 7.75v2.5" stroke=currentColor stroke-width=1.5 stroke-linecap=round /></svg><span data-kapa-label=true class="navbar-next__ask-ai-label navbar-next__ask-ai-label--full" aria-live=polite>Ask Me</span><span data-kapa-label=true data-kapa-loading-label=… data-kapa-error-label=N/A class="navbar-next__ask-ai-label navbar-next__ask-ai-label--compact" aria-live=polite>Ask</span></button><a href=https://github.com/apache/doris target=_blank rel="noopener noreferrer" class=navbar-next__star-link aria-label="Star Apache Doris on GitHub (16k stars)"><svg width=13 height=13 viewBox="0 0 16 16" fill=currentColor aria-hidden=true><path d="M8 0l2.4 5.5L16 6.2l-4 3.9 1 5.9L8 13.2l-5 2.8 1-5.9-4-3.9 5.6-.7L8 0z"/></svg><span class=navbar-next__star-text>Star</span><span class=navbar-next__star-divider></span><span class=navbar-next__star-count>16k</span><span class=navbar-next__star-divider></span><svg width=14 height=14 viewBox="0 0 16 16" fill=currentColor aria-hidden=true><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg></a><a class=navbar-next__cta href=/download/>DOWNLOAD</a></div><button type=button class=navbar-next__menu-button aria-label="Open navigation menu" aria-expanded=false aria-controls=navbar-next-mobile-panel><svg width=20 height=20 viewBox="0 0 20 20" fill=none aria-hidden=true><path d="M4 6h12M4 10h12M4 14h12" stroke=currentColor stroke-width=2 stroke-linecap=round /></svg></button></div><div id=navbar-next-mobile-panel class=navbar-next__mobile-panel hidden><div class=navbar-next__mobile-sections><div class=navbar-next__mobile-section><button type=button class=navbar-next__mobile-trigger aria-expanded=true aria-controls=navbar-next-mobile-why-doris>Why Doris<svg class=navbar-next__chevron viewBox="0 0 16 16" fill=none aria-hidden=true><path d="M4 6l4 4 4-4" stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round /></svg></button><div id=navbar-next-mobile-why-doris class=navbar-next__mobile-links><a class=navbar-next__mobile-link href=/why-doris/compare/>Doris vs. Others</a><a class=navbar-next__mobile-link href=/why-doris/benchmarks/>Benchmarks</a><a class=navbar-next__mobile-link href=/why-doris/key-features/>Key Features</a><a class=navbar-next__mobile-link href=/why-doris/users/>User Stories</a></div></div><div class=navbar-next__mobile-section><button type=button class=navbar-next__mobile-trigger aria-expanded=false aria-controls=navbar-next-mobile-use-cases>Use Cases<svg class=navbar-next__chevron viewBox="0 0 16 16" fill=none aria-hidden=true><path d="M4 6l4 4 4-4" stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round /></svg></button><div id=navbar-next-mobile-use-cases class=navbar-next__mobile-links hidden><a class=navbar-next__mobile-link href=/use-cases/customer-facing-analytics/>Customer-Facing Analytics</a><a class=navbar-next__mobile-link href=/use-cases/data-warehousing/>Data Warehousing</a><a class=navbar-next__mobile-link href=/use-cases/observability/>Observability</a><a class=navbar-next__mobile-link href=/use-cases/ai/>Doris for AI</a></div></div><div class=navbar-next__mobile-section><button type=button class=navbar-next__mobile-trigger aria-expanded=false aria-controls=navbar-next-mobile-docs>Docs<svg class=navbar-next__chevron viewBox="0 0 16 16" fill=none aria-hidden=true><path d="M4 6l4 4 4-4" stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round /></svg></button><div id=navbar-next-mobile-docs class=navbar-next__mobile-links hidden><a class=navbar-next__mobile-link href=/docs/dev/getting-started/what-is-apache-doris/>Dev</a><a class=navbar-next__mobile-link href=/docs/4.x/getting-started/what-is-apache-doris/>4.x</a><a class=navbar-next__mobile-link href=/docs/3.x/gettingStarted/what-is-apache-doris/>3.x</a><a class=navbar-next__mobile-link href=/docs/2.1/gettingStarted/what-is-apache-doris/>2.1</a></div></div><div class=navbar-next__mobile-section><button type=button class=navbar-next__mobile-trigger aria-expanded=false aria-controls=navbar-next-mobile-resources>Resources<svg class=navbar-next__chevron viewBox="0 0 16 16" fill=none aria-hidden=true><path d="M4 6l4 4 4-4" stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round /></svg></button><div id=navbar-next-mobile-resources class=navbar-next__mobile-links hidden><a class=navbar-next__mobile-link href=/releases/all-release/>Release Notes</a><a class=navbar-next__mobile-link href=/blog/>Blogs</a><a class=navbar-next__mobile-link href=/course/>Course</a><a class=navbar-next__mobile-link href=/profile-analysis/>Profile Analysis</a></div></div><div class=navbar-next__mobile-section><button type=button class=navbar-next__mobile-trigger aria-expanded=false aria-controls=navbar-next-mobile-community>Community<svg class=navbar-next__chevron viewBox="0 0 16 16" fill=none aria-hidden=true><path d="M4 6l4 4 4-4" stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round /></svg></button><div id=navbar-next-mobile-community class=navbar-next__mobile-links hidden><a class=navbar-next__mobile-link href=/community-report/>Community Report</a><a class=navbar-next__mobile-link href=/community/roadmap/>Roadmap</a><a class=navbar-next__mobile-link href=/community/join-community/>Build with Us</a><a href=https://github.com/apache/doris/discussions target=_blank rel="noopener noreferrer" class=navbar-next__mobile-link>Join GitHub Discussions</a></div></div></div><details class="brand-theme-switcher brand-theme-switcher--mobile"><summary aria-label="Color theme: Doris Green" title="Change color theme"><svg viewBox="0 0 20 20" fill=none aria-hidden=true><path d="M10 2.25a7.75 7.75 0 1 0 0 15.5h1.05a1.7 1.7 0 0 0 1.2-2.9l-.35-.35a1.7 1.7 0 0 1 1.2-2.9h1.1A3.55 3.55 0 0 0 17.75 8 7.75 7.75 0 0 0 10 2.25Z" stroke=currentColor stroke-width=1.5 /><circle cx=6.4 cy=8 r=1 fill=currentColor /><circle cx=9 cy=5.5 r=1 fill=currentColor /><circle cx=12.5 cy=6 r=1 fill=currentColor /></svg><span>Color theme</span></summary><div class=brand-theme-switcher__menu role=group aria-label="Color theme"><button type=button class=brand-theme-switcher__option aria-pressed=true><span class=brand-theme-switcher__swatches aria-hidden=true><span style=background-color:#11A679></span><span style=background-color:#FFD23F></span></span><span>Doris Green</span><span class=brand-theme-switcher__check aria-hidden=true>✓</span></button><button type=button class=brand-theme-switcher__option aria-pressed=false><span class=brand-theme-switcher__swatches aria-hidden=true><span style=background-color:#7B2CBF></span><span style=background-color:#F9D308></span></span><span>Golden</span><span class=brand-theme-switcher__check aria-hidden=true></span></button><button type=button class=brand-theme-switcher__option aria-pressed=false><span class=brand-theme-switcher__swatches aria-hidden=true><span style=background-color:#2C2C34></span><span style=background-color:#00D4FF></span></span><span>Steel Cyan</span><span class=brand-theme-switcher__check aria-hidden=true></span></button><button type=button class=brand-theme-switcher__option aria-pressed=false><span class=brand-theme-switcher__swatches aria-hidden=true><span style=background-color:#121212></span><span style=background-color:#FF4500></span></span><span>Lava & Black</span><span class=brand-theme-switcher__check aria-hidden=true></span></button><button type=button class=brand-theme-switcher__option aria-pressed=false><span class=brand-theme-switcher__swatches aria-hidden=true><span style=background-color:#0066FF></span><span style=background-color:#FFD300></span></span><span>Victory Blue</span><span class=brand-theme-switcher__check aria-hidden=true></span></button><button type=button class=brand-theme-switcher__option aria-pressed=false><span class=brand-theme-switcher__swatches aria-hidden=true><span style=background-color:#B19CD9></span><span style=background-color:#D3D3D3></span></span><span>Lilac Mist</span><span class=brand-theme-switcher__check aria-hidden=true></span></button><button type=button class=brand-theme-switcher__option aria-pressed=false><span class=brand-theme-switcher__swatches aria-hidden=true><span style=background-color:#000000></span><span style=background-color:#FFD700></span></span><span>Obsidian Gold</span><span class=brand-theme-switcher__check aria-hidden=true></span></button><button type=button class=brand-theme-switcher__option aria-pressed=false><span class=brand-theme-switcher__swatches aria-hidden=true><span style=background-color:#89C2FF></span><span style=background-color:#E6F7FF></span></span><span>Sky Mist</span><span class=brand-theme-switcher__check aria-hidden=true></span></button></div></details><div class=navbar-next__mobile-actions><a href=https://apache-doris-summit.org/ target=_blank rel="noopener noreferrer" class=navbar-next__summit aria-label="Visit Doris Summit 2026 (opens in a new tab)"><span>Doris Summit 26</span></a></div></div></nav><div id=__docusaurus_skipToContent_fallback class="main-wrapper mainWrapper_eExm"><div class="docsWrapper_bSxm docsWithDomainNav_bCXL"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type=button></button><nav class=root_mSpc aria-label="Documentation sections"><div class=inner_NZYy><div class=domainList_kKGM><a class=domainLink_H90f href=/docs/dev/getting-started/intro/>Get Started</a><a class=domainLink_H90f aria-current=page href=/docs/dev/table-design/overview/>Guides</a><a class=domainLink_H90f href=/docs/dev/ai/ai-overview/>Solutions</a><a class=domainLink_H90f href=/docs/dev/admin-manual/cluster-management/intro/>Operate & Maintain</a><a class=domainLink_H90f href=/docs/dev/sql-manual/basic-element/sql-data-types/data-type-overview/>SQL References</a></div><details class=mobileDomainPicker_cT83><summary><span>Guides</span><svg viewBox="0 0 16 16" aria-hidden=true><path d="m4 6 4 4 4-4" fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round /></svg></summary><div class=mobileDomainMenu_p09M><a class=mobileDomainLink_V4rh href=/docs/dev/getting-started/intro/>Get Started</a><a class=mobileDomainLink_V4rh aria-current=page href=/docs/dev/table-design/overview/>Guides</a><a class=mobileDomainLink_V4rh href=/docs/dev/ai/ai-overview/>Solutions</a><a class=mobileDomainLink_V4rh href=/docs/dev/admin-manual/cluster-management/intro/>Operate & Maintain</a><a class=mobileDomainLink_V4rh href=/docs/dev/sql-manual/basic-element/sql-data-types/data-type-overview/>SQL References</a></div></details><div class=utilities_J7mE><div class=search_Jr9Q><div class="navbar__search searchBarContainer_PzyC" dir=ltr><input placeholder=Search aria-label=Search class=navbar__search-input value=""><div class="loadingRing__K5d searchBarLoadingRing_e2f0"><div></div><div></div><div></div><div></div></div></div></div><div class=locale_YKqI><div class="navbar__item dropdown dropdown--hoverable"><a href=# aria-haspopup=true aria-expanded=false role=button class=navbar__link aria-label=English><svg class=icon-language width=16 height=16 viewBox="0 0 16 16" fill=none aria-hidden=true focusable=false><circle cx=8 cy=8 r=6.5 stroke=currentColor stroke-width=1.25 /><path d="M1.5 8h13M8 1.5c1.75 1.78 2.7 4.03 2.7 6.5s-.95 4.72-2.7 6.5C6.25 12.72 5.3 10.47 5.3 8S6.25 3.28 8 1.5Z" stroke=currentColor stroke-width=1.25 /></svg><span class=locale-current-label>English</span></a><ul class=dropdown__menu><li><a href=/docs/dev/query-acceleration/dictionary/ rel="noopener noreferrer" class="dropdown__link dropdown__link--active" lang=en-US>English</a><li><a href=/zh-CN/docs/dev/query-acceleration/dictionary/ rel="noopener noreferrer" class=dropdown__link lang=zh-Hans-CN>中文</a></ul></div></div></div></div></nav><div class=docRoot_cWv0><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class=sidebarViewport_aRkj><div class="sidebar_mhZE sidebarWithDomainNavigation_H7TU"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_Y1UP"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><ul style=display:block;overflow:visible;height:auto class="menu__list menu__list_level_2"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" tabindex=0 href=/docs/dev/table-design/overview/>Table Design</a><button aria-label="Expand sidebar category 'Table Design'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" tabindex=0 href=/docs/dev/data-operate/import/load-manual/>Data Loading</a><button aria-label="Expand sidebar category 'Data Loading'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" tabindex=0 href=/docs/dev/data-operate/update-and-delete/>Data Update & Delete</a><button aria-label="Expand sidebar category 'Data Update & Delete'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" tabindex=0 href=/docs/dev/data-operate/incremental/overview/>Change Data & Table Stream</a><button aria-label="Expand sidebar category 'Change Data & Table Stream'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" tabindex=0 href=/docs/dev/data-operate/export/export-overview/>Data Export</a><button aria-label="Expand sidebar category 'Data Export'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" tabindex=0 href=/docs/dev/query-data/querying-overview/>Querying</a><button aria-label="Expand sidebar category 'Querying'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" tabindex=0 href=/docs/dev/query-acceleration/materialized-view/intro/>Materialized View</a><button aria-label="Expand sidebar category 'Materialized View'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" tabindex=0 href=/docs/dev/query-acceleration/performance-tuning-intro/>Performance & Tuning</a><button aria-label="Collapse sidebar category 'Performance & Tuning'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul style=display:block;overflow:visible;height:auto class=menu__list><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" tabindex=0 href=/docs/dev/query-acceleration/performance-tuning-overview/tuning-overview/>Performance Tuning Overview</a><button aria-label="Expand sidebar category 'Performance Tuning Overview'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role=button aria-expanded=true tabindex=0 href=/docs/dev/query-acceleration/tuning/tuning-plan/schema-and-index-optimization/>Query Performance</a></div><ul style=display:block;overflow:visible;height:auto class=menu__list><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" tabindex=0 href=/docs/dev/query-acceleration/tuning/tuning-plan/schema-and-index-optimization/>Schema & Index Optimization</a><button aria-label="Expand sidebar category 'Schema & Index Optimization'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class=menu__link length=8 tabindex=0 href=/docs/dev/query-acceleration/materialized-view/intro-link/>Materialized View</a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" tabindex=0 href=/docs/dev/query-acceleration/join-optimization-intro/>Join Optimization</a><button aria-label="Expand sidebar category 'Join Optimization'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" tabindex=0 href=/docs/dev/query-acceleration/caching-intro/>Caching</a><button aria-label="Expand sidebar category 'Caching'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" tabindex=0 href=/docs/dev/query-acceleration/tuning/tuning-execution/intro/>Execution Tuning</a><button aria-label="Expand sidebar category 'Execution Tuning'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" tabindex=0 href=/docs/dev/query-acceleration/high-concurrency-intro/>High Concurrency & Point Queries</a><button aria-label="Collapse sidebar category 'High Concurrency & Point Queries'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul style=display:block;overflow:visible;height:auto class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class=menu__link length=2 tabindex=0 href=/docs/dev/query-acceleration/high-concurrent-point-query/>High-Concurrency Point Query</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current=page length=2 tabindex=0 href=/docs/dev/query-acceleration/dictionary/>Dictionary Acceleration</a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" tabindex=0 href=/docs/dev/query-acceleration/distinct-counts/intro/>Distinct Counts</a><button aria-label="Expand sidebar category 'Distinct Counts'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class=menu__link length=8 tabindex=0 href=/docs/dev/query-acceleration/query-profile/>Query Profile Analysis</a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/query-acceleration/tuning/tuning-plan/dml-tuning-plan/>Load Performance</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/query-acceleration/optimization-technology-principle/query-optimizer/>Optimization Technology Principles</a></div></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" tabindex=0 href=/docs/dev/lakehouse/lakehouse-overview/>Lakehouse</a><button aria-label="Expand sidebar category 'Lakehouse'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/data-governance/data-lineage/>Data Governance</a></div></ul></ul></nav></div></div></aside><main class=docMainContainer_TBSr><div class="container padding-top--md padding-bottom--lg"><div class=row><div class="col docItemCol_z5aJ"><div class="theme-doc-version-banner alert alert--warning margin-bottom--md" role=alert><div>This documentation is for an <b>unreleased</b> version of Apache Doris.</div><div class=margin-top--md>For usage, please refer to the official documentation of Version <b><a href=/docs/4.x/query-acceleration/dictionary/>4.x</a></b>/<b><a href=/docs/3.x/gettingStarted/what-is-apache-doris/>3.x</a></b>/<b><a href=/docs/2.1/gettingStarted/what-is-apache-doris/>2.1</a></b></div></div><div class=docItemContainer_c0TR><article><div class=mobileStickyHeader_xVvS><div class=toolbar_oPIw><button type=button class="toolbarIconBtn_iZSK toolbarMenuBtn_qBrP" aria-label="Open docs sidebar" aria-expanded=false><svg class=toolbarIcon_n29S viewBox="0 0 16 16" fill=none aria-hidden=true><path d="M2 4h12M2 8h12M2 12h12" stroke=currentColor stroke-width=1.5 stroke-linecap=round /></svg><span class=toolbarMenuLabel_x9lx>Browse this section</span></button></div><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Alpn" aria-label=Breadcrumbs><ul class=breadcrumbs itemscope itemtype=https://schema.org/BreadcrumbList><li class=breadcrumbs__item><a aria-label="Home page" class=breadcrumbs__link href=/><svg viewBox="0 0 24 24" class=breadcrumbHomeIcon_YNFT><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill=currentColor /></svg></a><li class=breadcrumbs__item><a class=breadcrumbs__link href=/docs/dev/getting-started/intro/>Dev</a><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class=breadcrumbs__item><a class=breadcrumbs__link itemprop=item href=/docs/dev/query-acceleration/performance-tuning-intro/><span itemprop=name>Performance & Tuning</span></a><meta itemprop=position content=1><li class=breadcrumbs__item><span class=breadcrumbs__link>Query Performance</span><meta itemprop=position content=2><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class=breadcrumbs__item><a class=breadcrumbs__link itemprop=item href=/docs/dev/query-acceleration/high-concurrency-intro/><span itemprop=name>High Concurrency & Point Queries</span></a><meta itemprop=position content=3><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link itemprop=name>Dictionary Acceleration</span><meta itemprop=position content=4></ul></nav></div><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_bxCs"><button type=button class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class=lastUpdated_GC7i><span class=theme-last-updated>Last updated<!-- --> on <b><time datetime=2026-05-17T20:13:02.000Z itemprop=dateModified>May 17, 2026</time></b></span></div><div class="theme-doc-markdown markdown"><header><h1>Accelerate JOIN Queries with Dictionaries</h1></header><p>A Dictionary is a special data structure provided by Doris to accelerate JOIN operations. It is built on top of a regular table, treats the corresponding columns of the source table as a key-value relationship, and preloads the full data of these columns into memory to enable fast lookup operations, thereby improving query performance.</p> |
| <p>Dictionaries are especially suitable for scenarios that require frequent key-value lookups. As a key-value lookup solution, dictionaries do not allow duplicate keys.</p> |
| <div class="theme-admonition theme-admonition-tip admonition_Gfwi alert alert--success"><div class=admonitionHeading_f1Ed>tip</div><div class=admonitionContent_UjKb><p>This feature is experimental and is supported starting from version 4.1.0.</div></div> |
| <h2 class="anchor anchorWithStickyNavbar_LWe7" id=use-cases>Use Cases<a href=#use-cases class=hash-link aria-label="Direct link to Use Cases" title="Direct link to Use Cases"></a></h2> |
| <p>Dictionaries are mainly suitable for the following scenarios:</p> |
| <ol> |
| <li>Scenarios that require frequent key-value lookups</li> |
| <li>Scenarios where the dimension table is small enough to fit entirely in memory</li> |
| <li>Scenarios with a relatively low data update frequency</li> |
| </ol> |
| <p>Key-value lookups that originally had to be implemented with a LEFT OUTER JOIN can completely eliminate the JOIN overhead with the help of a dictionary, turning into a regular function call.</p> |
| <h3 class="anchor anchorWithStickyNavbar_LWe7" id=scenario-example>Scenario Example<a href=#scenario-example class=hash-link aria-label="Direct link to Scenario Example" title="Direct link to Scenario Example"></a></h3> |
| <p>In an e-commerce system, the order table (<code>orders</code>, the fact table) records a large amount of transaction data and frequently needs to be joined with the product table (<code>products</code>, the dimension table) to obtain detailed product information.</p> |
| <p><strong>Step 1: Create the base fact table and dimension table, and insert sample data</strong></p> |
| <div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token comment" style="color:hsl(230, 4%, 64%)">-- Product dimension table</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">CREATE</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">TABLE</span><span class="token plain"> products </span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> product_id </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">BIGINT</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Product ID"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> product_name </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VARCHAR</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">128</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Product name"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> brand_name </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VARCHAR</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">64</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Brand name"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> category_name </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VARCHAR</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">64</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Category name"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> retail_price </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">DECIMAL</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">10</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token number" style="color:hsl(35, 99%, 36%)">2</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Retail price"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> update_time </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">DATETIME</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Update time"</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">DISTRIBUTED</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">BY</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">HASH</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token identifier punctuation" style="color:hsl(119, 34%, 47%)">`</span><span class="token identifier">product_id</span><span class="token identifier punctuation" style="color:hsl(119, 34%, 47%)">`</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> BUCKETS </span><span class="token number" style="color:hsl(35, 99%, 36%)">10</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token comment" style="color:hsl(230, 4%, 64%)">-- Order fact table</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">CREATE</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">TABLE</span><span class="token plain"> orders </span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> order_id </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">BIGINT</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Order ID"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> product_id </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">BIGINT</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Product ID"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> user_id </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">BIGINT</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"User ID"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> quantity </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">INT</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Purchase quantity"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> actual_price </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">DECIMAL</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">10</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token number" style="color:hsl(35, 99%, 36%)">2</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Actual transaction price"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> order_time </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">DATETIME</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Order time"</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">DISTRIBUTED</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">BY</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">HASH</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token identifier punctuation" style="color:hsl(119, 34%, 47%)">`</span><span class="token identifier">order_id</span><span class="token identifier punctuation" style="color:hsl(119, 34%, 47%)">`</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> BUCKETS </span><span class="token number" style="color:hsl(35, 99%, 36%)">32</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token comment" style="color:hsl(230, 4%, 64%)">-- Insert sample data</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">INSERT</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">INTO</span><span class="token plain"> products </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUES</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">1001</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'iPhone 15 Pro 256G Black'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Apple'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Mobile & Digital'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">8999.00</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'2024-01-01 00:00:00'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">1002</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'MacBook Pro M3 Max'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Apple'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Computers & Office'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">19999.00</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'2024-01-01 00:00:00'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">1003</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'AirPods Pro 2'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Apple'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Phone Accessories'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">1999.00</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'2024-01-01 00:00:00'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">INSERT</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">INTO</span><span class="token plain"> orders </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUES</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">10001</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">1001</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">88001</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">1</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">8899.00</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'2024-02-22 10:15:00'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">10002</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">1002</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">88002</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">1</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">19599.00</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'2024-02-22 11:30:00'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">10003</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">1003</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">88001</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">2</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">1899.00</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'2024-02-22 14:20:00'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <p><strong>Step 2: Traditional JOIN approach</strong></p> |
| <p>To count the number of orders and total sales for each category, you previously had to use a LEFT OUTER JOIN to retrieve product information from the product table:</p> |
| <div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token comment" style="color:hsl(230, 4%, 64%)">-- Count the number of orders and total sales for each category</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">SELECT</span><span class="token plain"> </span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> p</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">category_name</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> p</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">brand_name</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> </span><span class="token function" style="color:hsl(221, 87%, 60%)">COUNT</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token keyword" style="color:hsl(301, 63%, 40%)">DISTINCT</span><span class="token plain"> o</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">order_id</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">as</span><span class="token plain"> order_count</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> </span><span class="token function" style="color:hsl(221, 87%, 60%)">SUM</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">o</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">quantity</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">as</span><span class="token plain"> total_quantity</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> </span><span class="token function" style="color:hsl(221, 87%, 60%)">SUM</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">o</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">actual_price </span><span class="token operator" style="color:hsl(221, 87%, 60%)">*</span><span class="token plain"> o</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">quantity</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">as</span><span class="token plain"> total_amount</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">FROM</span><span class="token plain"> orders o</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">LEFT</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">JOIN</span><span class="token plain"> products p </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">ON</span><span class="token plain"> o</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">product_id </span><span class="token operator" style="color:hsl(221, 87%, 60%)">=</span><span class="token plain"> p</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">product_id</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">WHERE</span><span class="token plain"> o</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">order_time </span><span class="token operator" style="color:hsl(221, 87%, 60%)">>=</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'2024-02-22 00:00:00'</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">GROUP</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">BY</span><span class="token plain"> p</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">category_name</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> p</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">brand_name</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">ORDER</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">BY</span><span class="token plain"> total_amount </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">DESC</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">+---------------------+------------+-------------+----------------+--------------+</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| category_name | brand_name | order_count | total_quantity | total_amount |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">+---------------------+------------+-------------+----------------+--------------+</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| Computers & Office | Apple | 1 | 1 | 19599.00 |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| Mobile & Digital | Apple | 1 | 1 | 8899.00 |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| Phone Accessories | Apple | 1 | 2 | 3798.00 |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">+---------------------+------------+-------------+----------------+--------------+</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <p>In this kind of query, you frequently need to look up other product information by <code>product_id</code>, which is essentially a KV lookup operation.</p> |
| <p><strong>Step 3: Use a dictionary instead of JOIN</strong></p> |
| <p>Once the key-value relationship is defined, you can build the corresponding dictionary in advance to fully convert the previous JOIN operation into a more lightweight key-value lookup, which improves SQL execution efficiency:</p> |
| <div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token comment" style="color:hsl(230, 4%, 64%)">-- Create the product information dictionary</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">CREATE</span><span class="token plain"> DICTIONARY product_info_dict </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">USING</span><span class="token plain"> products</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> product_id </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">KEY</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> product_name </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUE</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> brand_name </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUE</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> category_name </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUE</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> retail_price </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUE</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">LAYOUT</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">HASH_MAP</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">PROPERTIES</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'data_lifetime'</span><span class="token operator" style="color:hsl(221, 87%, 60%)">=</span><span class="token string" style="color:hsl(119, 34%, 47%)">'300'</span><span class="token plain"> </span><span class="token comment" style="color:hsl(230, 4%, 64%)">-- Considering how often product information changes, refresh every 5 minutes</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <p>With the dictionary, the JOIN operation in the original query is converted into a <code>dict_get</code> function lookup, which is a lightweight KV lookup:</p> |
| <div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token keyword" style="color:hsl(301, 63%, 40%)">SELECT</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> dict_get</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">"test.product_info_dict"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"category_name"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> o</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">product_id</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">as</span><span class="token plain"> category_name</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> dict_get</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">"test.product_info_dict"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"brand_name"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> o</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">product_id</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">as</span><span class="token plain"> brand_name</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> </span><span class="token function" style="color:hsl(221, 87%, 60%)">COUNT</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token keyword" style="color:hsl(301, 63%, 40%)">DISTINCT</span><span class="token plain"> o</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">order_id</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">as</span><span class="token plain"> order_count</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> </span><span class="token function" style="color:hsl(221, 87%, 60%)">SUM</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">o</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">quantity</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">as</span><span class="token plain"> total_quantity</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> </span><span class="token function" style="color:hsl(221, 87%, 60%)">SUM</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">o</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">actual_price </span><span class="token operator" style="color:hsl(221, 87%, 60%)">*</span><span class="token plain"> o</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">quantity</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">as</span><span class="token plain"> total_amount</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">FROM</span><span class="token plain"> orders o</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">WHERE</span><span class="token plain"> o</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">order_time </span><span class="token operator" style="color:hsl(221, 87%, 60%)">>=</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'2024-02-22 00:00:00'</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">GROUP</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">BY</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> dict_get</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">"test.product_info_dict"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"category_name"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> o</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">product_id</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> dict_get</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">"test.product_info_dict"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"brand_name"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> o</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">product_id</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">ORDER</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">BY</span><span class="token plain"> total_amount </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">DESC</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">+---------------------+------------+-------------+----------------+--------------+</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| category_name | brand_name | order_count | total_quantity | total_amount |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">+---------------------+------------+-------------+----------------+--------------+</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| Computers & Office | Apple | 1 | 1 | 19599.00 |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| Mobile & Digital | Apple | 1 | 1 | 8899.00 |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| Phone Accessories | Apple | 1 | 2 | 3798.00 |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">+---------------------+------------+-------------+----------------+--------------+</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <h2 class="anchor anchorWithStickyNavbar_LWe7" id=dictionary-definition>Dictionary Definition<a href=#dictionary-definition class=hash-link aria-label="Direct link to Dictionary Definition" title="Direct link to Dictionary Definition"></a></h2> |
| <h3 class="anchor anchorWithStickyNavbar_LWe7" id=basic-syntax>Basic Syntax<a href=#basic-syntax class=hash-link aria-label="Direct link to Basic Syntax" title="Direct link to Basic Syntax"></a></h3> |
| <div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token keyword" style="color:hsl(301, 63%, 40%)">CREATE</span><span class="token plain"> DICTIONARY </span><span class="token operator" style="color:hsl(221, 87%, 60%)"><</span><span class="token plain">dict_name</span><span class="token operator" style="color:hsl(221, 87%, 60%)">></span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">USING</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)"><</span><span class="token plain">source_table</span><span class="token operator" style="color:hsl(221, 87%, 60%)">></span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)"><</span><span class="token plain">key_column</span><span class="token operator" style="color:hsl(221, 87%, 60%)">></span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">KEY</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">[</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> </span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)"><</span><span class="token plain">key_columns</span><span class="token operator" style="color:hsl(221, 87%, 60%)">></span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUE</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">]</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)"><</span><span class="token plain">value_column</span><span class="token operator" style="color:hsl(221, 87%, 60%)">></span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUE</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">[</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> </span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)"><</span><span class="token plain">value_columns</span><span class="token operator" style="color:hsl(221, 87%, 60%)">></span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUE</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">]</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">LAYOUT</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token operator" style="color:hsl(221, 87%, 60%)"><</span><span class="token plain">layout_type</span><span class="token operator" style="color:hsl(221, 87%, 60%)">></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">PROPERTIES</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"<priority_item_key>"</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">=</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"<priority_item_value>"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">[</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> </span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"<priority_item_key>"</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">=</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"<priority_item_value>"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">]</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <p>Parameter descriptions:</p> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <table><thead><tr><th>Parameter<th>Meaning<tbody><tr><td><code><dict_name></code><td>The name of the dictionary<tr><td><code><source_table></code><td>The source data table<tr><td><code><key_column></code><td>The column name in the source table that serves as a key<tr><td><code><value_column></code><td>The column name in the source table that serves as a value<tr><td><code><layout_type></code><td>The storage layout type of the dictionary, see below for details<tr><td><code><priority_item_key></code><td>The name of a property of the dictionary<tr><td><code><priority_item_value></code><td>The value of a property of the dictionary</table> |
| <p>There must be at least one <code><key_column></code> and one <code><value_column></code>. The <code><key_column></code> does not have to appear before the <code><value_column></code>.</p> |
| <h3 class="anchor anchorWithStickyNavbar_LWe7" id=layout-types>Layout Types<a href=#layout-types class=hash-link aria-label="Direct link to Layout Types" title="Direct link to Layout Types"></a></h3> |
| <p>Two layout types are currently supported:</p> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <table><thead><tr><th>Layout Type<th>Use Case<th>Description<tbody><tr><td><code>HASH_MAP</code><td>General key-value lookup scenarios<td>Hash-table-based implementation<tr><td><code>IP_TRIE</code><td>IP address lookups<td>Trie-based implementation, optimized specifically for IP address lookups. The key column must be IP addresses in CIDR notation, and queries are matched against the CIDR notation</table> |
| <h3 class="anchor anchorWithStickyNavbar_LWe7" id=properties>Properties<a href=#properties class=hash-link aria-label="Direct link to Properties" title="Direct link to Properties"></a></h3> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <table><thead><tr><th>Property<th>Value Type<th>Meaning<th>Required<tbody><tr><td><code>data_lifetime</code><td>Integer, in seconds<td>Data validity period. When the time since the last update of the dictionary exceeds this value and the base table has data changes, a re-import is automatically triggered. See <a href=#auto-import>Auto Import</a> for the import logic<td>Yes<tr><td><code>skip_null_key</code><td>Boolean<td>When loading data into the dictionary, if a null value appears in the key column, skip that row when this property is <code>true</code>; otherwise, an error is reported. The default value is <code>false</code><td>No<tr><td><code>memory_limit</code><td>Integer, in bytes<td>The upper limit of memory used by the dictionary on a single BE. The default value is <code>2147483648</code>, that is, 2GB<td>No</table> |
| <h3 class="anchor anchorWithStickyNavbar_LWe7" id=creation-example>Creation Example<a href=#creation-example class=hash-link aria-label="Direct link to Creation Example" title="Direct link to Creation Example"></a></h3> |
| <div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token comment" style="color:hsl(230, 4%, 64%)">-- Create the source data table</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">CREATE</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">TABLE</span><span class="token plain"> source_table </span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> id </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">INT</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> city </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VARCHAR</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">32</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> code </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VARCHAR</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">32</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">ENGINE</span><span class="token operator" style="color:hsl(221, 87%, 60%)">=</span><span class="token plain">OLAP</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">DISTRIBUTED</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">BY</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">HASH</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">id</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> BUCKETS </span><span class="token number" style="color:hsl(35, 99%, 36%)">1</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token comment" style="color:hsl(230, 4%, 64%)">-- Create the dictionary</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">CREATE</span><span class="token plain"> DICTIONARY city_dict </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">USING</span><span class="token plain"> source_table</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> city </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">KEY</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> id </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUE</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">LAYOUT</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">HASH_MAP</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">PROPERTIES</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">'data_lifetime'</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">=</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'600'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <p>Based on this table, you can use the <code>city_dict</code> dictionary together with the <code>dict_get</code> function to look up the corresponding <code>id</code> by the <code>city</code> value of <code>source_table</code>.</p> |
| <h3 class="anchor anchorWithStickyNavbar_LWe7" id=usage-restrictions>Usage Restrictions<a href=#usage-restrictions class=hash-link aria-label="Direct link to Usage Restrictions" title="Direct link to Usage Restrictions"></a></h3> |
| <p><strong>1. Key column restrictions</strong></p> |
| <ul> |
| <li>The key column of an IP_TRIE dictionary must be of type Varchar or String, and <strong>values in the key column must be in CIDR format</strong>.</li> |
| <li>An IP_TRIE dictionary allows only one key column.</li> |
| <li>The key column of a HASH_MAP dictionary supports all simple types (that is, all nested types such as Map and Array are excluded).</li> |
| <li>The column used as a key column <strong>must not contain duplicate values in the source table</strong>; otherwise, an error is reported when the dictionary loads data.</li> |
| </ul> |
| <p><strong>2. Null value handling</strong></p> |
| <ul> |
| <li>All columns of a dictionary can be Nullable columns, but null values should not actually appear in the key column. If they do, the behavior depends on <code>skip_null_key</code> in the <a href=#properties>Properties</a>.</li> |
| </ul> |
| <h2 class="anchor anchorWithStickyNavbar_LWe7" id=usage-and-management>Usage and Management<a href=#usage-and-management class=hash-link aria-label="Direct link to Usage and Management" title="Direct link to Usage and Management"></a></h2> |
| <h3 class="anchor anchorWithStickyNavbar_LWe7" id=loading-refreshing-data>Loading (Refreshing) Data<a href=#loading-refreshing-data class=hash-link aria-label="Direct link to Loading (Refreshing) Data" title="Direct link to Loading (Refreshing) Data"></a></h3> |
| <p>Dictionaries support both automatic and manual loading. Loading a dictionary is also referred to as a "refresh" operation.</p> |
| <h4 class="anchor anchorWithStickyNavbar_LWe7" id=auto-import>Auto Import<a href=#auto-import class=hash-link aria-label="Direct link to Auto Import" title="Direct link to Auto Import"></a></h4> |
| <p>Automatic loading happens at the following times:</p> |
| <ol> |
| <li>After the dictionary is created</li> |
| <li>When the dictionary data has expired (see <a href=#properties>Properties</a>)</li> |
| <li>When the BE state shows that this dictionary's data is missing (this can happen when a new BE comes online, or an old BE restarts, etc.)</li> |
| </ol> |
| <p>Doris checks whether all dictionary data has expired every <code>dictionary_auto_refresh_interval_seconds</code> seconds. When a dictionary has not been updated for more than <code>data_lifetime</code> seconds and <strong>the base table data has changed since the last load</strong>, Doris automatically submits a load for that dictionary.</p> |
| <p>If some BEs are missing data and the base table data has not changed since the last load, Doris only fills in the current version of the data on the affected BEs. It does not submit a refresh task for all BEs, and the dictionary version does not change.</p> |
| <h4 class="anchor anchorWithStickyNavbar_LWe7" id=manual-import>Manual Import<a href=#manual-import class=hash-link aria-label="Direct link to Manual Import" title="Direct link to Manual Import"></a></h4> |
| <ul> |
| <li> |
| <p><strong>Purpose</strong>: Manually trigger a refresh of dictionary data.</p> |
| </li> |
| <li> |
| <p><strong>Command</strong>:</p> |
| <div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">REFRESH DICTIONARY </span><span class="token operator" style="color:hsl(221, 87%, 60%)"><</span><span class="token plain">dict_name</span><span class="token operator" style="color:hsl(221, 87%, 60%)">></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| </li> |
| <li> |
| <p><strong>Description</strong>: <code><dict_name></code> is the name of the dictionary whose data is to be loaded.</p> |
| </li> |
| </ul> |
| <h4 class="anchor anchorWithStickyNavbar_LWe7" id=notes-for-loading>Notes for Loading<a href=#notes-for-loading class=hash-link aria-label="Direct link to Notes for Loading" title="Direct link to Notes for Loading"></a></h4> |
| <ol> |
| <li>A dictionary can only be queried after data has been loaded.</li> |
| <li>If the key column contains duplicate values during loading, the load transaction fails.</li> |
| <li>If a load transaction is already in progress (the dictionary Status is <code>LOADING</code>), a manual load fails. Wait for the in-progress load to finish before trying again.</li> |
| <li>If the size of the loaded dictionary exceeds the configured <code>memory_limit</code>, the load transaction fails.</li> |
| </ol> |
| <h3 class="anchor anchorWithStickyNavbar_LWe7" id=querying-a-dictionary>Querying a Dictionary<a href=#querying-a-dictionary class=hash-link aria-label="Direct link to Querying a Dictionary" title="Direct link to Querying a Dictionary"></a></h3> |
| <p>You can use the <code>dict_get</code> and <code>dict_get_many</code> functions to query a dictionary with a single key/value column or with multiple key/value columns, respectively.</p> |
| <p>For the first query, wait until the dictionary load completes.</p> |
| <h4 class="anchor anchorWithStickyNavbar_LWe7" id=syntax>Syntax<a href=#syntax class=hash-link aria-label="Direct link to Syntax" title="Direct link to Syntax"></a></h4> |
| <div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">dict_get</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">"<db_name>.<dict_name>"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"<query_column>"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)"><</span><span class="token plain">query_key_value</span><span class="token operator" style="color:hsl(221, 87%, 60%)">></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">dict_get_many</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">"<db_name>.<dict_name>"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)"><</span><span class="token plain">query_columns</span><span class="token operator" style="color:hsl(221, 87%, 60%)">></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)"><</span><span class="token plain">query_key_values</span><span class="token operator" style="color:hsl(221, 87%, 60%)">></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <p>Parameter descriptions:</p> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <table><thead><tr><th>Parameter<th>Description<tbody><tr><td><code><db_name></code><td>The name of the database that the dictionary belongs to<tr><td><code><dict_name></code><td>The name of the dictionary<tr><td><code><query_column></code><td>The name of the value column to query, of type <code>VARCHAR</code>, <strong>must be a constant</strong><tr><td><code><query_columns></code><td>The names of all value columns to query, of type <code>ARRAY<VARCHAR></code>, <strong>must be a constant</strong><tr><td><code><query_key_value></code><td>The key column data used for the query<tr><td><code><query_key_values></code><td>A STRUCT containing the data to query for <strong>all key columns</strong> of the dictionary</table> |
| <p>Return types:</p> |
| <ul> |
| <li>The return type of <code>dict_get</code> is the type of the dictionary column corresponding to <code><query_column></code>.</li> |
| <li>The return type of <code>dict_get_many</code> is a <a href=/docs/dev/query-acceleration/sql-manual/basic-element/sql-data-types/semi-structured/STRUCT/>STRUCT</a> composed of the types of the dictionary columns corresponding to <code><query_columns></code>.</li> |
| </ul> |
| <h4 class="anchor anchorWithStickyNavbar_LWe7" id=query-examples>Query Examples<a href=#query-examples class=hash-link aria-label="Direct link to Query Examples" title="Direct link to Query Examples"></a></h4> |
| <p><strong>Example 1: Single key, single value query</strong></p> |
| <p>Query the <code>city_dict</code> dictionary in the <code>test_db</code> database to retrieve the <code>id</code> value when the key column value is "Beijing":</p> |
| <div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token keyword" style="color:hsl(301, 63%, 40%)">SELECT</span><span class="token plain"> dict_get</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">"test_db.city_dict"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"id"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Beijing"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <p><strong>Example 2: Single key, multiple value query</strong></p> |
| <p>Query the <code>single_key_dict</code> dictionary in the <code>test_db</code> database to retrieve the <code>k1</code> and <code>k3</code> column values when the key column value is 1:</p> |
| <div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token keyword" style="color:hsl(301, 63%, 40%)">SELECT</span><span class="token plain"> dict_get_many</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">"test_db.single_key_dict"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">[</span><span class="token string" style="color:hsl(119, 34%, 47%)">"k1"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"k3"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">]</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> struct</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">1</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <p><strong>Example 3: Multiple key, multiple value query</strong></p> |
| <p>Query the <code>multi_key_dict</code> dictionary in the <code>test_db</code> database to retrieve the <code>k2</code> and <code>k3</code> column values when the two key column values are 2 and 'ABC' respectively:</p> |
| <div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token keyword" style="color:hsl(301, 63%, 40%)">SELECT</span><span class="token plain"> dict_get_many</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">"test_db.multi_key_dict"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">[</span><span class="token string" style="color:hsl(119, 34%, 47%)">"k2"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"k3"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">]</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> struct</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">2</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'ABC'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <p>For example, if the table creation statement is:</p> |
| <div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token keyword" style="color:hsl(301, 63%, 40%)">create</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">table</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">if</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">not</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">exists</span><span class="token plain"> multi_key_table</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> k0 </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">int</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">not</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">null</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> k1 </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">varchar</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">not</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">null</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> k2 </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">float</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">not</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">null</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> k3 </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">varchar</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">not</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">null</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">DISTRIBUTED</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">BY</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">HASH</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token identifier punctuation" style="color:hsl(119, 34%, 47%)">`</span><span class="token identifier">k0</span><span class="token identifier punctuation" style="color:hsl(119, 34%, 47%)">`</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> BUCKETS auto</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">create</span><span class="token plain"> dictionary multi_key_dict </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">using</span><span class="token plain"> multi_key_table</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> k0 </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">KEY</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> k1 </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">KEY</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> k2 </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUE</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> k3 </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUE</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">LAYOUT</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">HASH_MAP</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">PROPERTIES</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">'data_lifetime'</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">=</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'600'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <p>Then the return type of the previous statement</p> |
| <div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token keyword" style="color:hsl(301, 63%, 40%)">SELECT</span><span class="token plain"> dict_get_many</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">"test_db.multi_key_dict"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">[</span><span class="token string" style="color:hsl(119, 34%, 47%)">"k2"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"k3"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">]</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> struct</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">2</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'ABC'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <p>is <code>STRUCT<float, varchar></code>.</p> |
| <h4 class="anchor anchorWithStickyNavbar_LWe7" id=notes-for-queries>Notes for Queries<a href=#notes-for-queries class=hash-link aria-label="Direct link to Notes for Queries" title="Direct link to Notes for Queries"></a></h4> |
| <ol> |
| <li>When the queried key data does not exist in the dictionary, <strong>or when the key data is null</strong>, null is returned.</li> |
| <li>When querying an IP_TRIE dictionary, <strong>the type of <code><query_key_value></code> must be <code>IPV4</code> or <code>IPV6</code></strong>.</li> |
| <li>When using an IP_TRIE dictionary, both the data in the key column <code><key_column></code> and the <code><query_key_value></code> used for the query support both <code>IPV4</code> and <code>IPV6</code> formats.</li> |
| <li>When a specific BE has no dictionary data because of a recent online event or a downtime restart, queries against that dictionary fail if scheduled to that BE. Whether a query is scheduled to that BE depends on multiple factors. When the FE Master is not under heavy load, decreasing the <a href=#configuration-items>configuration item</a> <code>dictionary_auto_refresh_interval_seconds</code> can shorten the period during which the dictionary is unavailable.</li> |
| </ol> |
| <h3 class="anchor anchorWithStickyNavbar_LWe7" id=dictionary-management>Dictionary Management<a href=#dictionary-management class=hash-link aria-label="Direct link to Dictionary Management" title="Direct link to Dictionary Management"></a></h3> |
| <p>Dictionaries support the following management and inspection statements:</p> |
| <p><strong>1. View the status of all dictionaries in the current database</strong></p> |
| <div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token keyword" style="color:hsl(301, 63%, 40%)">SHOW</span><span class="token plain"> DICTIONARIES </span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">[</span><span class="token operator" style="color:hsl(221, 87%, 60%)">LIKE</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)"><</span><span class="token plain">LIKE_NAME</span><span class="token operator" style="color:hsl(221, 87%, 60%)">></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">]</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <p><strong>2. View the definition of a specific dictionary</strong></p> |
| <div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token keyword" style="color:hsl(301, 63%, 40%)">DESC</span><span class="token plain"> DICTIONARY </span><span class="token operator" style="color:hsl(221, 87%, 60%)"><</span><span class="token plain">dict_name</span><span class="token operator" style="color:hsl(221, 87%, 60%)">></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <p><strong>3. Drop a dictionary</strong></p> |
| <div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token keyword" style="color:hsl(301, 63%, 40%)">DROP</span><span class="token plain"> DICTIONARY </span><span class="token operator" style="color:hsl(221, 87%, 60%)"><</span><span class="token plain">dict_name</span><span class="token operator" style="color:hsl(221, 87%, 60%)">></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <p>After a dictionary is dropped, it may not be removed from the BEs immediately.</p> |
| <h4 class="anchor anchorWithStickyNavbar_LWe7" id=configuration-items>Configuration Items<a href=#configuration-items class=hash-link aria-label="Direct link to Configuration Items" title="Direct link to Configuration Items"></a></h4> |
| <p>Dictionaries support the following configuration items, all of which are FE CONFIG:</p> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <table><thead><tr><th>Configuration Item<th>Default Value<th>Dynamically Adjustable<th>Description<tbody><tr><td><code>dictionary_task_queue_size</code><td>1024<td>No<td>The queue length of the thread pool for all dictionary tasks. Usually does not need to be adjusted<tr><td><code>job_dictionary_task_consumer_thread_num</code><td>3<td>No<td>The number of threads in the thread pool for all dictionary tasks<tr><td><code>dictionary_rpc_timeout_ms</code><td>5000 (5s)<td>Yes<td>The timeout for all dictionary-related RPCs. Usually does not need to be adjusted<tr><td><code>dictionary_auto_refresh_interval_seconds</code><td>5 (seconds)<td>Yes<td>The interval for automatically checking whether all dictionary data has expired</table> |
| <h3 class="anchor anchorWithStickyNavbar_LWe7" id=status-display>Status Display<a href=#status-display class=hash-link aria-label="Direct link to Status Display" title="Direct link to Status Display"></a></h3> |
| <p>The <code>SHOW DICTIONARIES</code> statement shows the base table corresponding to each dictionary, the current data version number, and the corresponding status on the FE and BE.</p> |
| <div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token operator" style="color:hsl(221, 87%, 60%)">></span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">SHOW</span><span class="token plain"> DICTIONARIES</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">+--------------+----------------+----------------------------------------------+---------+--------+------------------------------------+------------------------------+</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| DictionaryId | DictionaryName | BaseTableName | Version | Status | DataDistribution | LastUpdateResult |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">+--------------+----------------+----------------------------------------------+---------+--------+------------------------------------+------------------------------+</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| 51 | precision_dict | internal.test_refresh_dict.precision_test | 2 | NORMAL | {10.16.10.2:9767 ver=2 memory=368} | 2025-02-18 09:58:12: succeed |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| 48 | product_dict | internal.test_refresh_dict.product_info | 2 | NORMAL | {10.16.10.2:9767 ver=2 memory=240} | 2025-02-18 09:58:12: succeed |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| 49 | ip_dict | internal.test_refresh_dict.ip_info | 2 | NORMAL | {10.16.10.2:9767 ver=2 memory=194} | 2025-02-18 09:58:12: succeed |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| 52 | order_dict | internal.test_refresh_dict.column_order_test | 2 | NORMAL | {10.16.10.2:9767 ver=2 memory=432} | 2025-02-18 09:58:12: succeed |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| 50 | user_dict | internal.test_refresh_dict.user_info | 2 | NORMAL | {10.16.10.2:9767 ver=2 memory=240} | 2025-02-18 09:58:12: succeed |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">+--------------+----------------+----------------------------------------------+---------+--------+------------------------------------+------------------------------+</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <p>Field meanings:</p> |
| <ol> |
| <li> |
| <p><code>Version</code>: The data version number, which is incremented by 1 each time data is loaded.</p> |
| </li> |
| <li> |
| <p><code>Status</code>: The dictionary status, with the following meanings:</p> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <table><thead><tr><th>Status Name<th>Meaning<tbody><tr><td>NORMAL<td>The dictionary is currently normal<tr><td>LOADING<td>The dictionary is currently loading data<tr><td>OUT_OF_DATE<td>The dictionary data has expired</table> |
| <p>A dictionary cannot be loaded again while a load is already in progress.</p> |
| </li> |
| <li> |
| <p><code>DataDistribution</code>: The current state on each BE, including the version number and memory usage (KB).</p> |
| </li> |
| <li> |
| <p><code>LastUpdateResult</code>: The result of the previous load (either automatic or manual). If there is an error, detailed information is shown here.</p> |
| </li> |
| </ol> |
| <p>To view the column definitions of a dictionary, use <code>DESC DICTIONARY</code>. For example:</p> |
| <div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token operator" style="color:hsl(221, 87%, 60%)">></span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">DESC</span><span class="token plain"> DICTIONARY city_code_dict</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token operator" style="color:hsl(221, 87%, 60%)">+</span><span class="token comment" style="color:hsl(230, 4%, 64%)">-------------+-------------+------+-------+</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token operator" style="color:hsl(221, 87%, 60%)">|</span><span class="token plain"> Field </span><span class="token operator" style="color:hsl(221, 87%, 60%)">|</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">Type</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">|</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">Null</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">|</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">Key</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">|</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token operator" style="color:hsl(221, 87%, 60%)">+</span><span class="token comment" style="color:hsl(230, 4%, 64%)">-------------+-------------+------+-------+</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token operator" style="color:hsl(221, 87%, 60%)">|</span><span class="token plain"> city_name </span><span class="token operator" style="color:hsl(221, 87%, 60%)">|</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">varchar</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">32</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">|</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">NO</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">|</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">true</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">|</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token operator" style="color:hsl(221, 87%, 60%)">|</span><span class="token plain"> region_code </span><span class="token operator" style="color:hsl(221, 87%, 60%)">|</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">varchar</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">32</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">|</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">NO</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">|</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">false</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">|</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token operator" style="color:hsl(221, 87%, 60%)">+</span><span class="token comment" style="color:hsl(230, 4%, 64%)">-------------+-------------+------+-------+</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <h2 class="anchor anchorWithStickyNavbar_LWe7" id=notes>Notes<a href=#notes class=hash-link aria-label="Direct link to Notes" title="Direct link to Notes"></a></h2> |
| <h3 class="anchor anchorWithStickyNavbar_LWe7" id=data-consistency>Data Consistency<a href=#data-consistency class=hash-link aria-label="Direct link to Data Consistency" title="Direct link to Data Consistency"></a></h3> |
| <ul> |
| <li>Each refresh of a dictionary produces a new version. If the version recorded by the BE differs from the version on the FE during a query, the query fails.</li> |
| <li>Doris does not maintain strong data consistency between the dictionary and the base table. You need to set <code>data_lifetime</code> of the dictionary appropriately to allow for automatic updates, and supplement with manual updates based on business logic when necessary.</li> |
| <li>When the source table is dropped in any way, the corresponding dictionary is automatically dropped as well.</li> |
| </ul> |
| <h3 class="anchor anchorWithStickyNavbar_LWe7" id=performance-considerations>Performance Considerations<a href=#performance-considerations class=hash-link aria-label="Direct link to Performance Considerations" title="Direct link to Performance Considerations"></a></h3> |
| <ul> |
| <li>Dictionaries are suitable for relatively static data, such as dimension table data.</li> |
| <li>A dictionary is a pure in-memory table, and its full data is stored in the memory of all BEs, which takes up a significant amount of memory. You need to balance memory usage and query performance, and choose appropriate tables to derive dictionaries from.</li> |
| </ul> |
| <h3 class="anchor anchorWithStickyNavbar_LWe7" id=best-practices>Best Practices<a href=#best-practices class=hash-link aria-label="Direct link to Best Practices" title="Direct link to Best Practices"></a></h3> |
| <ol> |
| <li> |
| <p><strong>Choose key and value columns reasonably</strong>:</p> |
| <ul> |
| <li>Choose columns with moderate cardinality as keys.</li> |
| </ul> |
| </li> |
| <li> |
| <p><strong>Layout selection</strong>:</p> |
| <ul> |
| <li>Use the HASH_MAP layout for general scenarios.</li> |
| <li>Use the IP_TRIE layout for IP address range matching scenarios.</li> |
| </ul> |
| </li> |
| <li> |
| <p><strong>State management</strong>:</p> |
| <ul> |
| <li>Regularly monitor the memory usage of dictionaries.</li> |
| <li>Choose an appropriate data update interval, and manually refresh the dictionary on the business side when data is known to be stale.</li> |
| <li>When using dictionaries, pay attention to BE memory monitoring to prevent too many or too large dictionaries from consuming too much memory and causing abnormal BE states.</li> |
| </ul> |
| </li> |
| </ol> |
| <h2 class="anchor anchorWithStickyNavbar_LWe7" id=complete-examples>Complete Examples<a href=#complete-examples class=hash-link aria-label="Direct link to Complete Examples" title="Direct link to Complete Examples"></a></h2> |
| <h3 class="anchor anchorWithStickyNavbar_LWe7" id=example-1-hash_map-single-key-and-single-value>Example 1: HASH_MAP, single key and single value<a href=#example-1-hash_map-single-key-and-single-value class=hash-link aria-label="Direct link to Example 1: HASH_MAP, single key and single value" title="Direct link to Example 1: HASH_MAP, single key and single value"></a></h3> |
| <div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token comment" style="color:hsl(230, 4%, 64%)">-- Create the source data table</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">CREATE</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">TABLE</span><span class="token plain"> cities </span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> city_id </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">INT</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> city_name </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VARCHAR</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">32</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> region_code </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VARCHAR</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">32</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">ENGINE</span><span class="token operator" style="color:hsl(221, 87%, 60%)">=</span><span class="token plain">OLAP</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">DISTRIBUTED</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">BY</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">HASH</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">city_id</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> BUCKETS </span><span class="token number" style="color:hsl(35, 99%, 36%)">1</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token comment" style="color:hsl(230, 4%, 64%)">-- Insert data</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">INSERT</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">INTO</span><span class="token plain"> cities </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUES</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">1</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Beijing'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'BJ'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">2</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Shanghai'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'SH'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">3</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Guangzhou'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'GZ'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token comment" style="color:hsl(230, 4%, 64%)">-- Create the dictionary</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">CREATE</span><span class="token plain"> DICTIONARY city_code_dict </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">USING</span><span class="token plain"> cities</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> city_name </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">KEY</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> region_code </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUE</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">LAYOUT</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">HASH_MAP</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">PROPERTIES</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">'data_lifetime'</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">=</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'600'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token comment" style="color:hsl(230, 4%, 64%)">-- Query using the dictionary</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">SELECT</span><span class="token plain"> dict_get</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">"test_refresh_dict.city_code_dict"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"region_code"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Beijing"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">+------------------------------------------------------------------------+</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| dict_get('test_refresh_dict.city_code_dict', 'region_code', 'Beijing') |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">+------------------------------------------------------------------------+</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| BJ |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">+------------------------------------------------------------------------+</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <h3 class="anchor anchorWithStickyNavbar_LWe7" id=example-2-ip_trie-cidr-based-ip-lookup>Example 2: IP_TRIE, CIDR-based IP lookup<a href=#example-2-ip_trie-cidr-based-ip-lookup class=hash-link aria-label="Direct link to Example 2: IP_TRIE, CIDR-based IP lookup" title="Direct link to Example 2: IP_TRIE, CIDR-based IP lookup"></a></h3> |
| <div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token comment" style="color:hsl(230, 4%, 64%)">-- Create the source data table</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">CREATE</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">TABLE</span><span class="token plain"> ip_locations </span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> ip_range </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VARCHAR</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">30</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> country </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VARCHAR</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">64</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> region </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VARCHAR</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">64</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> city </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VARCHAR</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">64</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">ENGINE</span><span class="token operator" style="color:hsl(221, 87%, 60%)">=</span><span class="token plain">OLAP</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">DISTRIBUTED</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">BY</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">HASH</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">ip_range</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> BUCKETS </span><span class="token number" style="color:hsl(35, 99%, 36%)">1</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token comment" style="color:hsl(230, 4%, 64%)">-- Insert some sample data</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">INSERT</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">INTO</span><span class="token plain"> ip_locations </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUES</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">'1.0.0.0/24'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'United States'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'California'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Los Angeles'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">'1.0.1.0/24'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'China'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Beijing'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Beijing'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">'1.0.4.0/24'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Japan'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Tokyo'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Tokyo'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token comment" style="color:hsl(230, 4%, 64%)">-- Create the IP address dictionary</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">CREATE</span><span class="token plain"> DICTIONARY ip_location_dict </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">USING</span><span class="token plain"> ip_locations</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> ip_range </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">KEY</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> country </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUE</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> region </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUE</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> city </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUE</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">LAYOUT</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">IP_TRIE</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">PROPERTIES</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">'data_lifetime'</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">=</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'600'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token comment" style="color:hsl(230, 4%, 64%)">-- Query the location information for an IP address, matched by CIDR.</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">SELECT</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> dict_get</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">"test_refresh_dict.ip_location_dict"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"country"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> cast</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">'1.0.0.1'</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">as</span><span class="token plain"> ipv4</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">AS</span><span class="token plain"> country</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> dict_get</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">"test_refresh_dict.ip_location_dict"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"region"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> cast</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">'1.0.0.2'</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">as</span><span class="token plain"> ipv4</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">AS</span><span class="token plain"> region</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> dict_get</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">"test_refresh_dict.ip_location_dict"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"city"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> cast</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">'1.0.0.3'</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">as</span><span class="token plain"> ipv4</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">AS</span><span class="token plain"> city</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">+---------------+------------+-------------+</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| country | region | city |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">+---------------+------------+-------------+</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| United States | California | Los Angeles |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">+---------------+------------+-------------+</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <h3 class="anchor anchorWithStickyNavbar_LWe7" id=example-3-hash_map-multiple-keys-and-multiple-values>Example 3: HASH_MAP, multiple keys and multiple values<a href=#example-3-hash_map-multiple-keys-and-multiple-values class=hash-link aria-label="Direct link to Example 3: HASH_MAP, multiple keys and multiple values" title="Direct link to Example 3: HASH_MAP, multiple keys and multiple values"></a></h3> |
| <div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token comment" style="color:hsl(230, 4%, 64%)">-- Product SKU dimension table: contains the basic attributes of products</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">CREATE</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">TABLE</span><span class="token plain"> product_sku_info </span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> product_id </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">INT</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Product ID"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> color_code </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VARCHAR</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">32</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Color code"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> size_code </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VARCHAR</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">32</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Size code"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> product_name </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VARCHAR</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">128</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Product name"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> color_name </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VARCHAR</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">32</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Color name"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> size_name </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VARCHAR</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">32</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Size name"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> stock </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">INT</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Stock"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> price </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">DECIMAL</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">10</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token number" style="color:hsl(35, 99%, 36%)">2</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Price"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> update_time </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">DATETIME</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Update time"</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">DISTRIBUTED</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">BY</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">HASH</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token identifier punctuation" style="color:hsl(119, 34%, 47%)">`</span><span class="token identifier">product_id</span><span class="token identifier punctuation" style="color:hsl(119, 34%, 47%)">`</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> BUCKETS </span><span class="token number" style="color:hsl(35, 99%, 36%)">10</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token comment" style="color:hsl(230, 4%, 64%)">-- Order detail table: records actual sales data</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">CREATE</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">TABLE</span><span class="token plain"> order_details </span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> order_id </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">BIGINT</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Order ID"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> product_id </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">INT</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Product ID"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> color_code </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VARCHAR</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">32</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Color code"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> size_code </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VARCHAR</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">32</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Size code"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> quantity </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">INT</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Purchase quantity"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> order_time </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">DATETIME</span><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">NOT</span><span class="token plain"> </span><span class="token boolean" style="color:hsl(35, 99%, 36%)">NULL</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">COMMENT</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"Order time"</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">DISTRIBUTED</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">BY</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">HASH</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token identifier punctuation" style="color:hsl(119, 34%, 47%)">`</span><span class="token identifier">order_id</span><span class="token identifier punctuation" style="color:hsl(119, 34%, 47%)">`</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> BUCKETS </span><span class="token number" style="color:hsl(35, 99%, 36%)">10</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token comment" style="color:hsl(230, 4%, 64%)">-- Insert product SKU data</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">INSERT</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">INTO</span><span class="token plain"> product_sku_info </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUES</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">1001</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'BLK'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'M'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Nike Sports T-Shirt'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Black'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Size M'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">100</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">199.00</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'2024-02-23 10:00:00'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">1001</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'BLK'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'L'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Nike Sports T-Shirt'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Black'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Size L'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">80</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">199.00</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'2024-02-23 10:00:00'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">1001</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'WHT'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'M'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Nike Sports T-Shirt'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'White'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Size M'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">90</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">199.00</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'2024-02-23 10:00:00'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">1001</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'WHT'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'L'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Nike Sports T-Shirt'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'White'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Size L'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">70</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">199.00</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'2024-02-23 10:00:00'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">1002</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'RED'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'S'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Adidas Sports Pants'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Red'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Size S'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">50</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">299.00</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'2024-02-23 10:00:00'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">1002</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'RED'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'M'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Adidas Sports Pants'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Red'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Size M'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">60</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">299.00</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'2024-02-23 10:00:00'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">1002</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'BLU'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'S'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Adidas Sports Pants'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Blue'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Size S'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">55</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">299.00</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'2024-02-23 10:00:00'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">1002</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'BLU'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'M'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Adidas Sports Pants'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Blue'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'Size M'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">65</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">299.00</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'2024-02-23 10:00:00'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token comment" style="color:hsl(230, 4%, 64%)">-- Insert order data</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">INSERT</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">INTO</span><span class="token plain"> order_details </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUES</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">10001</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">1001</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'BLK'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'M'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">2</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'2024-02-23 12:01:00'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">10002</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">1001</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'WHT'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'L'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">1</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'2024-02-23 12:05:00'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">10003</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">1002</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'RED'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'S'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">1</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'2024-02-23 12:10:00'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">10004</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">1001</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'BLK'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'L'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">3</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'2024-02-23 12:15:00'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token number" style="color:hsl(35, 99%, 36%)">10005</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">1002</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'BLU'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'M'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">2</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'2024-02-23 12:20:00'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token comment" style="color:hsl(230, 4%, 64%)">-- Create a multi-key, multi-value dictionary</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">CREATE</span><span class="token plain"> DICTIONARY sku_dict </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">USING</span><span class="token plain"> product_sku_info</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> product_id </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">KEY</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> color_code </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">KEY</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> size_code </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">KEY</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> product_name </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUE</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> color_name </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUE</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> size_name </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUE</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> price </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUE</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> stock </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">VALUE</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">LAYOUT</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">HASH_MAP</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">PROPERTIES</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">'data_lifetime'</span><span class="token operator" style="color:hsl(221, 87%, 60%)">=</span><span class="token string" style="color:hsl(119, 34%, 47%)">'300'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token comment" style="color:hsl(230, 4%, 64%)">-- Example of a query using dict_get_many: get order details and SKU information</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">WITH</span><span class="token plain"> order_sku_info </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">AS</span><span class="token plain"> </span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">SELECT</span><span class="token plain"> </span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> o</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">order_id</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> o</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">quantity</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> o</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">order_time</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> dict_get_many</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">"test.sku_dict"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> </span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">[</span><span class="token string" style="color:hsl(119, 34%, 47%)">"product_name"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"color_name"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"size_name"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"price"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"stock"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">]</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> struct</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">o</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">product_id</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> o</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">color_code</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> o</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">size_code</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> </span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">as</span><span class="token plain"> sku_info</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">FROM</span><span class="token plain"> order_details o</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">WHERE</span><span class="token plain"> o</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">order_time </span><span class="token operator" style="color:hsl(221, 87%, 60%)">>=</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'2024-02-23 12:00:00'</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> </span><span class="token operator" style="color:hsl(221, 87%, 60%)">AND</span><span class="token plain"> o</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">order_time </span><span class="token operator" style="color:hsl(221, 87%, 60%)"><</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'2024-02-23 13:00:00'</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">SELECT</span><span class="token plain"> </span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> order_id</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> order_time</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> struct_element</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">sku_info</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'product_name'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">as</span><span class="token plain"> product_name</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> struct_element</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">sku_info</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'color_name'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">as</span><span class="token plain"> color_name</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> struct_element</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">sku_info</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'size_name'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">as</span><span class="token plain"> size_name</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> quantity</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> struct_element</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">sku_info</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'price'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">as</span><span class="token plain"> unit_price</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> quantity </span><span class="token operator" style="color:hsl(221, 87%, 60%)">*</span><span class="token plain"> struct_element</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">sku_info</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'price'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">as</span><span class="token plain"> total_amount</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"></span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"> struct_element</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">sku_info</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">'stock'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">as</span><span class="token plain"> current_stock</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">FROM</span><span class="token plain"> order_sku_info</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">ORDER</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">BY</span><span class="token plain"> order_time</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class=codeBlockLines_e6Vv><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">+----------+---------------------+---------------------+------------+-----------+----------+------------+--------------+---------------+</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| order_id | order_time | product_name | color_name | size_name | quantity | unit_price | total_amount | current_stock |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">+----------+---------------------+---------------------+------------+-----------+----------+------------+--------------+---------------+</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| 10001 | 2024-02-23 12:01:00 | Nike Sports T-Shirt | Black | Size M | 2 | 199.00 | 398.00 | 100 |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| 10002 | 2024-02-23 12:05:00 | Nike Sports T-Shirt | White | Size L | 1 | 199.00 | 199.00 | 70 |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| 10003 | 2024-02-23 12:10:00 | Adidas Sports Pants | Red | Size S | 1 | 299.00 | 299.00 | 50 |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| 10004 | 2024-02-23 12:15:00 | Nike Sports T-Shirt | Black | Size L | 3 | 199.00 | 597.00 | 80 |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">| 10005 | 2024-02-23 12:20:00 | Adidas Sports Pants | Blue | Size M | 2 | 299.00 | 598.00 | 65 |</span><br></span><span class=token-line style="color:hsl(230, 8%, 24%)"><span class="token plain">+----------+---------------------+---------------------+------------+-----------+----------+------------+--------------+---------------+</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div> |
| <h2 class="anchor anchorWithStickyNavbar_LWe7" id=troubleshooting>Troubleshooting<a href=#troubleshooting class=hash-link aria-label="Direct link to Troubleshooting" title="Direct link to Troubleshooting"></a></h2> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <table><thead><tr><th>Error Symptom<th>Solution<tbody><tr><td>Query reports <code>can not find dict name</code><td>First, run <code>SHOW DICTIONARIES</code> to confirm whether the dictionary exists. If it does, refresh the corresponding dictionary data again<tr><td>Query reports <code>dict_get() only support IP type for IP_TRIE</code><td>Check whether the key column of the IP_TRIE dictionary strictly follows the CIDR format<tr><td>Load reports <code>Version ID is not greater than the existing version ID for the dictionary.</code><td>Use the <code>DROP DICTIONARY</code> command to drop the corresponding dictionary, then re-create it and reload the data<tr><td><code>SHOW DICTIONARIES</code> shows that the Version of the dictionary on a certain BE is greater than the FE Version<td>Use the <code>DROP DICTIONARY</code> command to drop the corresponding dictionary, then re-create it and reload the data<tr><td>Load reports <code>Dictionary X commit version Y failed</code><td>Reload the dictionary</table> |
| <p><strong>Fallback strategy</strong>: For the vast majority of errors, if normal operations fail, dropping the dictionary and re-creating it can resolve the issue.</p> |
| <h2 class="anchor anchorWithStickyNavbar_LWe7" id=faq>FAQ<a href=#faq class=hash-link aria-label="Direct link to FAQ" title="Direct link to FAQ"></a></h2> |
| <p><strong>Q1: What is the difference between a dictionary and a regular materialized view?</strong></p> |
| <p>A dictionary is a pure in-memory KV structure, designed specifically to accelerate key-value lookup operations and to convert the original JOIN operation into a <code>dict_get</code> function call. A materialized view, on the other hand, is aimed at more general precomputation scenarios.</p> |
| <p><strong>Q2: Is the data of a dictionary kept strongly consistent with the base table?</strong></p> |
| <p>No. Doris does not maintain strong data consistency between a dictionary and its base table. Data needs to be synchronized through automatic updates via <code>data_lifetime</code> or manual <code>REFRESH DICTIONARY</code>.</p> |
| <p><strong>Q3: When should you choose IP_TRIE over HASH_MAP?</strong></p> |
| <p>Use IP_TRIE when you need to perform IP range matching queries based on CIDR. For all other key-value matching scenarios, use HASH_MAP.</p> |
| <p><strong>Q4: What should you do if a dictionary uses too much memory?</strong></p> |
| <p>You can use the <code>memory_limit</code> property to limit the memory upper bound on a single BE. It is also recommended to choose columns with moderate cardinality as the source for the dictionary, to avoid the dictionary becoming too large.</p> |
| <p><strong>Q5: What are the possible reasons a dictionary query returns null?</strong></p> |
| <p>When the queried key does not exist in the dictionary, or when the queried key data is null, null is returned.</div></article><div class="flex items-center text-sm lg:text-base justify-end lg:col mt-10"><a href="https://github.com/apache/doris-website/issues/new?title=Issue on docs&body=Path:false" target=_blank rel="noopener noreferrer" class="lg:mr-6 footerBtn_e3I8"><svg width=20 height=20 viewBox="0 0 20 20" fill=none><path d="M9.48038 2.9C9.71132 2.5 10.2887 2.5 10.5196 2.9L18.1406 16.1C18.3716 16.5 18.0829 17 17.621 17H2.37898C1.9171 17 1.62842 16.5 1.85936 16.1L9.48038 2.9Z" stroke=currentColor stroke-width=1.2 stroke-linecap=round /><path d="M10.5699 7.9516C10.5874 7.5628 10.2769 7.23804 9.88766 7.23804C9.49847 7.23804 9.18796 7.5628 9.20543 7.9516L9.41597 12.6385C9.42731 12.8908 9.63513 13.0895 9.88766 13.0895C10.1402 13.0895 10.348 12.8908 10.3593 12.6385L10.5699 7.9516ZM9.89338 13.7638C9.65338 13.7638 9.44766 13.8323 9.28766 13.9923C9.12766 14.1409 9.04766 14.3352 9.04766 14.5752C9.04766 14.8152 9.12766 15.0095 9.28766 15.1695C9.45909 15.318 9.6648 15.398 9.89338 15.398C10.1219 15.398 10.3162 15.318 10.4762 15.158C10.6477 14.998 10.7277 14.8038 10.7277 14.5752C10.7277 14.3352 10.6477 14.1409 10.4762 13.9923C10.3162 13.8323 10.1219 13.7638 9.89338 13.7638Z" fill=currentColor /></svg> <span class=ml-2>Report issue</span></a></div><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href=/docs/dev/query-acceleration/high-concurrent-point-query/><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>High-Concurrency Point Query</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/docs/dev/query-acceleration/distinct-counts/intro/><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>Efficient Deduplication</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_jeP5 thin-scrollbar toc-container theme-doc-toc-desktop"><div><a href=/><div class="toc-icon-content group"><svg width=21 height=20 fill=currentColor viewBox="0 0 21 20" class=group-hover:text-primary><path fill-rule=evenodd d="M3.835 6.44a1 1 0 0 0-.445.832v8.939c0 .436.354.79.79.79H16.81a.79.79 0 0 0 .79-.79V7.272a1 1 0 0 0-.446-.832L11.05 2.37a1 1 0 0 0-1.11 0zm7.26 4.16a.6.6 0 1 0-1.2 0v3.3a.6.6 0 0 0 1.2 0z" clip-rule=evenodd /></svg><span class=group-hover:text-primary>Doris Homepage</span></div></a><a href=https://github.com/apache/doris/discussions target=_blank rel="noopener noreferrer" class="toc-icon-content group"><svg class=group-hover:text-primary width=21 height=20 fill=currentColor viewBox="0 0 21 20"><g clip-path=url(#a)><g clip-path=url(#b)><path d="M10.506 2.698a7.494 7.494 0 0 1 7.5 7.495c0 3.274-2.099 6.058-5.023 7.08-.394.099-.334-.181-.334-.372v-1.299c2.274.266 2.367-1.238 2.519-1.49.308-.526 1.037-.66.82-.911-.518-.267-1.046.067-1.658.97-.442.655-1.305.545-1.743.436a2.1 2.1 0 0 0-.581-1.02c2.356-.421 3.338-1.86 3.338-3.569 0-.83-.273-1.592-.81-2.207.342-1.014-.031-1.882-.082-2.01-.973-.088-1.985.696-2.064.759a7.3 7.3 0 0 0-1.892-.228c-.71 0-1.344.082-1.902.233-.19-.145-1.128-.818-2.033-.736-.048.129-.414.977-.092 1.977a3.3 3.3 0 0 0-.82 2.217c0 1.713.99 3.153 3.352 3.568a2.14 2.14 0 0 0-.638 1.525v1.885c-.014.151 0 .3-.252.3a7.496 7.496 0 0 1 2.395-14.603"/></g></g><defs><clipPath id=a><path fill=#fff d="M0 0h21v20H0z"/></clipPath><clipPath id=b><path fill=#fff d="M18.5 2h-16v16h16z"/></clipPath></defs></svg><span class=group-hover:text-primary>Ask Questions on Discussion</span></a><a href="https://doris.apache.org/slack?utm_source=website&utm_medium=docs&utm_content=docs_toc" target=_blank rel="noopener noreferrer" class="toc-icon-content group"><div style=padding:2px><svg class=group-hover:text-primary fill=currentColor viewBox="0 0 1024 1024" version=1.1 p-id=4316 width=16 height=16><path d="M85.333333 625.92a85.333333 85.333333 0 1 0 170.666667 0v-85.333333H170.666667a85.333333 85.333333 0 0 0-85.333334 85.333333z m539.306667-142.506667a85.333333 85.333333 0 0 0 85.333333-85.333333V170.666667a85.333333 85.333333 0 1 0-170.666666 0v227.413333a85.333333 85.333333 0 0 0 86.186666 85.333333z m312.32-85.333333a85.333333 85.333333 0 1 0-170.666667 0v85.333333h85.333334a85.333333 85.333333 0 0 0 87.04-85.333333zM398.506667 540.586667a85.333333 85.333333 0 0 0-85.333334 85.333333V853.333333a85.333333 85.333333 0 1 0 170.666667 0v-227.413333a85.333333 85.333333 0 0 0-85.333333-85.333333zM625.493333 768h-85.333333v85.333333a85.333333 85.333333 0 1 0 85.333333-85.333333zM853.333333 540.586667h-227.84a85.333333 85.333333 0 0 0 0 170.666666H853.333333a85.333333 85.333333 0 0 0 0-170.666666zM398.506667 312.746667H170.666667a85.333333 85.333333 0 1 0 0 170.666666h227.84a85.333333 85.333333 0 0 0 0-170.666666z m0-227.413334a85.333333 85.333333 0 0 0 0 170.666667h85.333333V170.666667a85.333333 85.333333 0 0 0-85.333333-85.333334z" p-id=4317 /></svg></div><span class=group-hover:text-primary>Chat on Slack</span></a><a href=https://discord.gg/ATXQqX8g8F target=_blank rel="noopener noreferrer" class="toc-icon-content group"><div style=padding:2px><svg class=group-hover:text-primary width=18 height=18 viewBox="0 0 32 32" fill=none><path d="M19.9416 5C19.668 5.50355 19.4223 6.02447 19.199 6.55696C17.077 6.22705 14.916 6.22705 12.7885 6.55696C12.5707 6.02447 12.3194 5.50355 12.0458 5C10.0523 5.35308 8.10909 5.97238 6.26637 6.84635C2.61442 12.4549 1.62605 17.9187 2.11745 23.3073C4.25612 24.9453 6.65167 26.1955 9.20356 26.9942C9.77871 26.1955 10.2869 25.3446 10.7224 24.4591C9.89598 24.1408 9.09746 23.7414 8.33246 23.2784C8.53348 23.1279 8.72892 22.9716 8.91877 22.8211C13.4027 25.009 18.5959 25.009 23.0854 22.8211C23.2753 22.9832 23.4707 23.1394 23.6718 23.2784C22.9067 23.7472 22.1082 24.1408 21.2762 24.4649C21.7118 25.3504 22.2199 26.2013 22.7951 27C25.3469 26.2013 27.7424 24.9568 29.8813 23.3189C30.4619 17.0679 28.8873 11.6503 25.721 6.85215C23.884 5.97818 21.9407 5.35885 19.9472 5.01157L19.9416 5ZM11.3478 19.9908C9.96859 19.9908 8.82386 18.6943 8.82386 17.091C8.82386 15.4878 9.9239 14.1855 11.3423 14.1855C12.7606 14.1855 13.8886 15.4936 13.8662 17.091C13.8439 18.6885 12.755 19.9908 11.3478 19.9908ZM20.6508 19.9908C19.266 19.9908 18.1324 18.6943 18.1324 17.091C18.1324 15.4878 19.2325 14.1855 20.6508 14.1855C22.0692 14.1855 23.1915 15.4936 23.1692 17.091C23.1469 18.6885 22.058 19.9908 20.6508 19.9908Z" fill=currentColor /></svg></div><span class=group-hover:text-primary>Chat on Discord</span></a></div><div><span class="ml-4 title-text">On This Page</span><ul class="table-of-contents table-of-contents__left-border"><li><a href=#use-cases class="table-of-contents__link toc-highlight">Use Cases</a><ul><li><a href=#scenario-example class="table-of-contents__link toc-highlight">Scenario Example</a></ul><li><a href=#dictionary-definition class="table-of-contents__link toc-highlight">Dictionary Definition</a><ul><li><a href=#basic-syntax class="table-of-contents__link toc-highlight">Basic Syntax</a><li><a href=#layout-types class="table-of-contents__link toc-highlight">Layout Types</a><li><a href=#properties class="table-of-contents__link toc-highlight">Properties</a><li><a href=#creation-example class="table-of-contents__link toc-highlight">Creation Example</a><li><a href=#usage-restrictions class="table-of-contents__link toc-highlight">Usage Restrictions</a></ul><li><a href=#usage-and-management class="table-of-contents__link toc-highlight">Usage and Management</a><ul><li><a href=#loading-refreshing-data class="table-of-contents__link toc-highlight">Loading (Refreshing) Data</a><li><a href=#querying-a-dictionary class="table-of-contents__link toc-highlight">Querying a Dictionary</a><li><a href=#dictionary-management class="table-of-contents__link toc-highlight">Dictionary Management</a><li><a href=#status-display class="table-of-contents__link toc-highlight">Status Display</a></ul><li><a href=#notes class="table-of-contents__link toc-highlight">Notes</a><ul><li><a href=#data-consistency class="table-of-contents__link toc-highlight">Data Consistency</a><li><a href=#performance-considerations class="table-of-contents__link toc-highlight">Performance Considerations</a><li><a href=#best-practices class="table-of-contents__link toc-highlight">Best Practices</a></ul><li><a href=#complete-examples class="table-of-contents__link toc-highlight">Complete Examples</a><ul><li><a href=#example-1-hash_map-single-key-and-single-value class="table-of-contents__link toc-highlight">Example 1: HASH_MAP, single key and single value</a><li><a href=#example-2-ip_trie-cidr-based-ip-lookup class="table-of-contents__link toc-highlight">Example 2: IP_TRIE, CIDR-based IP lookup</a><li><a href=#example-3-hash_map-multiple-keys-and-multiple-values class="table-of-contents__link toc-highlight">Example 3: HASH_MAP, multiple keys and multiple values</a></ul><li><a href=#troubleshooting class="table-of-contents__link toc-highlight">Troubleshooting</a><li><a href=#faq class="table-of-contents__link toc-highlight">FAQ</a></ul></div></div></div></div></div></main></div></div></div><div class="footer pt-16 pb-10"><div class=container><div class=footer-box><div class=left><img src=/images/asf_logo_apache.svg alt="" class="footer__logo themedComponent_mlkZ themedComponent--light_NVdE"><img src=/images/asf_logo_apache.svg alt="" class="footer__logo themedComponent_mlkZ themedComponent--dark_xIcU"><div class="row footer__links"><div class="col footer__col"><div class=footer__title>ASF</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://www.apache.org/ target=_blank rel="noopener noreferrer" class=footer__link-item>Foundation<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a href=https://www.apache.org/licenses/ target=_blank rel="noopener noreferrer" class=footer__link-item>License<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a href=https://www.apache.org/events/current-event target=_blank rel="noopener noreferrer" class=footer__link-item>Events<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a href=https://www.apache.org/foundation/sponsorship.html target=_blank rel="noopener noreferrer" class=footer__link-item>Sponsorship<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a href=https://privacy.apache.org/policies/privacy-policy-public.html target=_blank rel="noopener noreferrer" class=footer__link-item>Privacy<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a href=https://www.apache.org/security/ target=_blank rel="noopener noreferrer" class=footer__link-item>Security<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a href=https://www.apache.org/foundation/thanks.html target=_blank rel="noopener noreferrer" class=footer__link-item>Thanks<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a></ul></div><div class="col footer__col"><div class=footer__title>Resources</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/download/>Download</a><li class=footer__item><a class=footer__link-item href=/brand-assets/>Brand Assets</a><li class=footer__item><a class=footer__link-item href=/blog/>Blog</a></ul></div><div class="col footer__col"><div class=footer__title>Community</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/community/how-to-contribute/contribute-to-doris/>How to contribute</a><li class=footer__item><a href=https://github.com/apache/doris/ target=_blank rel="noopener noreferrer" class=footer__link-item>Source code<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a class=footer__link-item href=/community/team/>Doris team</a><li class=footer__item><a class=footer__link-item href=/community/roadmap/>Roadmap</a><li class=footer__item><a href=https://cwiki.apache.org/confluence/display/DORIS/Doris+Improvement+Proposals target=_blank rel="noopener noreferrer" class=footer__link-item>Improvement proposal<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a></ul></div></div></div><div class=right><div class=footer__title>Join the community</div><div class=social-list><div class=social><a href=mailto:dev@doris.apache.org target=_blank title=mail class=item><svg width=2em height=2em viewBox="0 0 32 32" fill=none><title>Mail</title><path d="M5.6003 6H26.3997C27.8186 6 28.982 7.10964 29 8.46946L16.0045 15.454L3.01202 8.47829C3.02405 7.11258 4.1784 6 5.6003 6ZM3.01202 11.1508L3 23.5011C3 24.8756 4.16938 26 5.6003 26H26.3997C27.8306 26 29 24.8756 29 23.5011V11.145L16.3111 17.8028C16.1157 17.9058 15.8813 17.9058 15.6889 17.8028L3.01202 11.1508Z" fill=currentColor /></svg></a><a href=https://github.com/apache/doris target=_blank title=github class=item><svg width=2em height=2em viewBox="0 0 32 32" fill=none><title>Github</title><path d="M16.0001 2.66675C8.63342 2.66675 2.66675 8.63341 2.66675 16.0001C2.66524 18.7991 3.54517 21.5276 5.1817 23.7983C6.81824 26.0691 9.12828 27.7668 11.7841 28.6508C12.4508 28.7668 12.7001 28.3668 12.7001 28.0161C12.7001 27.7001 12.6828 26.6508 12.6828 25.5334C9.33342 26.1508 8.46675 24.7174 8.20008 23.9668C8.04942 23.5828 7.40008 22.4001 6.83342 22.0828C6.36675 21.8334 5.70008 21.2161 6.81608 21.2001C7.86675 21.1828 8.61608 22.1668 8.86675 22.5668C10.0668 24.5828 11.9841 24.0161 12.7494 23.6668C12.8668 22.8001 13.2161 22.2174 13.6001 21.8841C10.6334 21.5508 7.53342 20.4001 7.53342 15.3001C7.53342 13.8494 8.04942 12.6507 8.90008 11.7161C8.76675 11.3827 8.30008 10.0161 9.03342 8.18275C9.03342 8.18275 10.1494 7.83342 12.7001 9.55075C13.7855 9.2495 14.907 9.09787 16.0334 9.10008C17.1668 9.10008 18.3001 9.24942 19.3668 9.54942C21.9161 7.81608 23.0334 8.18408 23.0334 8.18408C23.7668 10.0174 23.3001 11.3841 23.1668 11.7174C24.0161 12.6507 24.5334 13.8334 24.5334 15.3001C24.5334 20.4174 21.4174 21.5508 18.4508 21.8841C18.9334 22.3001 19.3508 23.1001 19.3508 24.3508C19.3508 26.1334 19.3334 27.5668 19.3334 28.0174C19.3334 28.3668 19.5841 28.7828 20.2508 28.6494C22.8975 27.7558 25.1973 26.0547 26.8266 23.7856C28.4559 21.5165 29.3327 18.7936 29.3334 16.0001C29.3334 8.63341 23.3668 2.66675 16.0001 2.66675V2.66675Z" fill=currentColor /></svg></a><a href=https://twitter.com/doris_apache target=_blank title=twitter class=item><svg width=2em height=2em viewBox="0 0 32 32" fill=none><title>Twitter</title><path d="M4.625 4.625H11.2809L27.375 27.375H20.7191L4.625 4.625ZM7.52549 6.10639L21.5236 25.8936H24.4746L10.4764 6.10639H7.52549Z" fill=currentColor /><path d="M14.4268 18.4803L6.53447 27.375H4.625L13.5581 17.2525L14.4268 18.4803ZM18.1299 14.3066L26.7203 4.625H24.7017L17.2525 13.0662L18.1299 14.3066Z" fill=currentColor /></svg></a><a href="https://doris.apache.org/slack?utm_source=website&utm_medium=website&utm_content=footer" title=slack target=_blank class=item><svg width=2em height=2em viewBox="0 0 32 32" fill=none><title>Slack</title><g clip-path=url(#clip0_125_278)><path d="M12.5875 16.6906C11.0844 16.6906 9.86562 17.9094 9.86562 19.4125V26.2375C9.86562 26.9594 10.1524 27.6517 10.6628 28.1622C11.1733 28.6726 11.8656 28.9594 12.5875 28.9594C13.3094 28.9594 14.0017 28.6726 14.5122 28.1622C15.0226 27.6517 15.3094 26.9594 15.3094 26.2375V19.4531C15.3094 17.9094 14.0906 16.6906 12.5875 16.6906ZM3 19.4531C3 20.175 3.28677 20.8673 3.79722 21.3778C4.30767 21.8882 4.99999 22.175 5.72187 22.175C6.44376 22.175 7.13608 21.8882 7.64653 21.3778C8.15698 20.8673 8.44375 20.175 8.44375 19.4531V16.7312H5.7625C4.25938 16.6906 3 17.9094 3 19.4531ZM12.5875 3C11.8656 3 11.1733 3.28677 10.6628 3.79722C10.1524 4.30767 9.86562 4.99999 9.86562 5.72187C9.86562 6.44376 10.1524 7.13608 10.6628 7.64653C11.1733 8.15698 11.8656 8.44375 12.5875 8.44375H15.3094V5.72187C15.3094 4.21875 14.0906 3 12.5875 3ZM5.72187 15.3094H12.5469C13.2688 15.3094 13.9611 15.0226 14.4715 14.5122C14.982 14.0017 15.2688 13.3094 15.2688 12.5875C15.2688 11.8656 14.982 11.1733 14.4715 10.6628C13.9611 10.1524 13.2688 9.86562 12.5469 9.86562H5.72187C4.99999 9.86562 4.30767 10.1524 3.79722 10.6628C3.28677 11.1733 3 11.8656 3 12.5875C3 13.3094 3.28677 14.0017 3.79722 14.5122C4.30767 15.0226 4.99999 15.3094 5.72187 15.3094ZM26.2375 9.86562C24.7344 9.86562 23.5156 11.0844 23.5156 12.5875V15.3094H26.2375C26.9594 15.3094 27.6517 15.0226 28.1622 14.5122C28.6726 14.0017 28.9594 13.3094 28.9594 12.5875C28.9594 11.8656 28.6726 11.1733 28.1622 10.6628C27.6517 10.1524 26.9594 9.86562 26.2375 9.86562ZM16.6906 5.72187V12.5875C16.6906 13.3094 16.9774 14.0017 17.4878 14.5122C17.9983 15.0226 18.6906 15.3094 19.4125 15.3094C20.1344 15.3094 20.8267 15.0226 21.3372 14.5122C21.8476 14.0017 22.1344 13.3094 22.1344 12.5875V5.72187C22.1344 4.99999 21.8476 4.30767 21.3372 3.79722C20.8267 3.28677 20.1344 3 19.4125 3C18.6906 3 17.9983 3.28677 17.4878 3.79722C16.9774 4.30767 16.6906 4.99999 16.6906 5.72187ZM22.1344 26.2781C22.1344 24.775 20.9156 23.5562 19.4125 23.5562H16.6906V26.2781C16.6906 27 16.9774 27.6923 17.4878 28.2028C17.9983 28.7132 18.6906 29 19.4125 29C20.1344 29 20.8267 28.7132 21.3372 28.2028C21.8476 27.6923 22.1344 27 22.1344 26.2781ZM26.2781 16.6906H19.4125C18.6906 16.6906 17.9983 16.9774 17.4878 17.4878C16.9774 17.9983 16.6906 18.6906 16.6906 19.4125C16.6906 20.1344 16.9774 20.8267 17.4878 21.3372C17.9983 21.8476 18.6906 22.1344 19.4125 22.1344H26.2375C27.7406 22.1344 28.9594 20.9156 28.9594 19.4125C29 17.9094 27.7812 16.6906 26.2781 16.6906Z" fill=currentColor /></g><defs><clipPath id=clip0_125_278><rect width=26 height=26 fill=currentColor transform="translate(3 3)"/></clipPath></defs></svg></a></div><div class=social><a href=https://www.youtube.com/hashtag/apachedoris title=youtube target=_blank class=item><svg width=2em height=2em viewBox="0 0 32 32" fill=none><title>Youtube</title><path d="M28.5167 7.83429C28.9436 8.25423 29.2532 8.77539 29.4154 9.34742C29.8205 11.5462 30.0159 13.7775 29.999 16.0121C30.0144 18.2382 29.819 20.4609 29.4154 22.6515C29.2532 23.2235 28.9436 23.7446 28.5167 24.1645C28.0898 24.5845 27.5601 24.889 26.9785 25.0486C24.7728 25.625 16.0124 25.625 16.0124 25.625C16.0124 25.625 7.22652 25.625 5.04638 25.0486C4.46489 24.889 3.9351 24.5845 3.5082 24.1645C3.08132 23.7446 2.77176 23.2235 2.60948 22.6515C2.19736 20.4617 1.9934 18.239 2.00025 16.0121C1.9918 13.7767 2.19577 11.5455 2.60948 9.34742C2.77176 8.77539 3.08132 8.25423 3.5082 7.83429C3.9351 7.41436 4.46489 7.10985 5.04638 6.95021C7.25103 6.36354 16.0124 6.37502 16.0124 6.37502C16.0124 6.37502 24.796 6.37502 26.9785 6.95021C27.5601 7.10985 28.0898 7.41436 28.5167 7.83429ZM12.5 21.25L21.25 16.008L12.5 10.75V21.25Z" fill=currentColor /></svg></a><a href=https://www.linkedin.com/company/doris-apache/ title=linkedin target=_blank class=item><svg width=2rem height=2rem viewBox="0 0 32 32" fill=none><title>LinkedIn</title><path d="M4.29925 26.9996H9.66738V11.6781H4.29925V26.9996ZM22.1628 11.1949C19.9409 11.1949 18.7157 11.9388 17.3054 13.7407V11.6777H11.9459V26.9996H17.305V18.6738C17.305 16.9168 18.145 15.1982 20.1535 15.1982C22.162 15.1982 22.6559 16.9164 22.6559 18.632V27H28V18.2902C28 12.2386 24.3854 11.1949 22.1628 11.1949ZM6.99325 4C5.3395 4 4 5.21047 4 6.7046C4 8.19759 5.3395 9.40617 6.99325 9.40617C8.6455 9.40617 9.985 8.19722 9.985 6.7046C9.985 5.21047 8.6455 4 6.99325 4Z" fill=white /></svg></a><a href=https://medium.com/@ApacheDoris title=medium target=_blank class=item><svg width=2em height=2em viewBox="0 0 32 32" fill=none><title>Medium</title><g id=Frame><path id=Vector d="M17.7967 16.5385C17.8029 18.53 16.9746 20.4425 15.4937 21.8559C14.0128 23.2693 12.0004 24.0681 9.89836 24.0769C7.79633 24.0681 5.78391 23.2693 4.30302 21.8559C2.82212 20.4425 1.99383 18.53 2.00003 16.5385C1.99383 14.5469 2.82212 12.6344 4.30302 11.221C5.78391 9.80759 7.79633 9.00878 9.89836 9C12.0004 9.00878 14.0128 9.80759 15.4937 11.221C16.9746 12.6344 17.8029 14.5469 17.7967 16.5385ZM26.4533 16.5385C26.4533 20.4514 24.6917 23.6348 22.51 23.6348C20.3283 23.6348 18.555 20.4514 18.555 16.5385C18.555 12.6255 20.3283 9.44214 22.51 9.44214C24.6917 9.44214 26.4533 12.6255 26.4533 16.5385ZM30 16.5385C30 20.0424 29.3817 22.8942 28.6117 22.8942C27.8417 22.8942 27.2233 20.0424 27.2233 16.5385C27.2233 13.0345 27.8417 10.1827 28.6117 10.1827C29.3817 10.1827 30 13.0345 30 16.5385Z" fill=currentColor /></g></svg></a><a href=https://discord.gg/ATXQqX8g8F title=discord target=_blank class=item><svg width=32 height=32 viewBox="0 0 32 32" fill=none><path d="M19.9416 5C19.668 5.50355 19.4223 6.02447 19.199 6.55696C17.077 6.22705 14.916 6.22705 12.7885 6.55696C12.5707 6.02447 12.3194 5.50355 12.0458 5C10.0523 5.35308 8.10909 5.97238 6.26637 6.84635C2.61442 12.4549 1.62605 17.9187 2.11745 23.3073C4.25612 24.9453 6.65167 26.1955 9.20356 26.9942C9.77871 26.1955 10.2869 25.3446 10.7224 24.4591C9.89598 24.1408 9.09746 23.7414 8.33246 23.2784C8.53348 23.1279 8.72892 22.9716 8.91877 22.8211C13.4027 25.009 18.5959 25.009 23.0854 22.8211C23.2753 22.9832 23.4707 23.1394 23.6718 23.2784C22.9067 23.7472 22.1082 24.1408 21.2762 24.4649C21.7118 25.3504 22.2199 26.2013 22.7951 27C25.3469 26.2013 27.7424 24.9568 29.8813 23.3189C30.4619 17.0679 28.8873 11.6503 25.721 6.85215C23.884 5.97818 21.9407 5.35885 19.9472 5.01157L19.9416 5ZM11.3478 19.9908C9.96859 19.9908 8.82386 18.6943 8.82386 17.091C8.82386 15.4878 9.9239 14.1855 11.3423 14.1855C12.7606 14.1855 13.8886 15.4936 13.8662 17.091C13.8439 18.6885 12.755 19.9908 11.3478 19.9908ZM20.6508 19.9908C19.266 19.9908 18.1324 18.6943 18.1324 17.091C18.1324 15.4878 19.2325 14.1855 20.6508 14.1855C22.0692 14.1855 23.1915 15.4936 23.1692 17.091C23.1469 18.6885 22.058 19.9908 20.6508 19.9908Z" fill=white /></svg></a></div></div></div></div><div class=footer__copyright>Copyright © 2026 The Apache Software Foundation,Licensed under the <a href=https://www.apache.org/licenses/LICENSE-2.0 target=_blank>Apache License, Version 2.0</a>. Apache, Doris, Apache Doris, the Apache feather logo and the Apache Doris logo are trademarks of The Apache Software Foundation.</div></div></div><aside class=slack-community-nudge aria-label="Apache Doris community, Summit, and documentation resources"><div class=slack-community-nudge__bubble aria-hidden=true><button type=button class=slack-community-nudge__close aria-label="Dismiss community, Summit, and documentation prompt" tabindex=-1><span aria-hidden=true>×</span></button><div class=slack-community-nudge__eyebrow>Community help</div><p class=slack-community-nudge__title>Building with Doris?<p class=slack-community-nudge__copy>Join Slack for setup help, performance tips, and answers from Apache Doris users and maintainers.<ul class=slack-community-nudge__benefits><li class=slack-community-nudge__benefit>Talk with Doris users and developers.<li class=slack-community-nudge__benefit>Get the latest Doris community updates, learning resources, and event information.<li class=slack-community-nudge__benefit>Join community building, feature discussions, and PR reviews.</ul><a class=slack-community-nudge__cta href="https://doris.apache.org/slack?utm_source=website&utm_medium=docs&utm_content=mascot_nudge" target=_blank rel="noopener noreferrer" tabindex=-1><svg width=16 height=16 viewBox="0 0 24 24" fill=currentColor aria-hidden=true><path d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zM6.313 15.165a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zM8.834 6.313a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zM18.956 8.834a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zM17.688 8.834a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zM15.165 18.956a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zM15.165 17.688a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z"/></svg>Join Slack</a><section class=slack-community-nudge__summit aria-labelledby=slack-community-nudge-summit-title><div><p id=slack-community-nudge-summit-title class=slack-community-nudge__summit-title>Doris Summit 26<p class=slack-community-nudge__summit-meta>October 21–22 · Virtual event</div><a class="slack-community-nudge__cta slack-community-nudge__cta--summit" href=https://apache-doris-summit.org/ target=_blank rel="noopener noreferrer" tabindex=-1>Explore Summit<span aria-hidden=true>↗</span></a></section><section class=slack-community-nudge__docs-feedback aria-labelledby=slack-community-nudge-docs-feedback-title><p id=slack-community-nudge-docs-feedback-title class=slack-community-nudge__docs-feedback-title>Found a documentation issue?<p class=slack-community-nudge__docs-feedback-copy>Share your feedback and help us improve the quality of the Apache Doris documentation.</p><a class="slack-community-nudge__cta slack-community-nudge__cta--feedback" href=https://github.com/apache/doris-website/issues/364 target=_blank rel="noopener noreferrer" tabindex=-1>Report a docs issue<span aria-hidden=true>↗</span></a></section></div><button type=button class=slack-community-nudge__mascot aria-expanded=false aria-label="Open community, Summit, and documentation resources"><img class=slack-community-nudge__mascot-image src=/images/next/home-page/doris-mascot.png width=1344 height=768 alt="" draggable=false><span class=slack-community-nudge__mascot-pupil style=left:22.96%;top:54.01% aria-hidden=true></span><span class=slack-community-nudge__mascot-pupil style=left:28.59%;top:54.01% aria-hidden=true></span><span class=slack-community-nudge__mascot-pupil style=left:51.01%;top:51.27% aria-hidden=true></span><span class=slack-community-nudge__mascot-pupil style=left:56.39%;top:51.95% aria-hidden=true></span><span class=slack-community-nudge__mascot-pupil style=left:74.99%;top:58.71% aria-hidden=true></span><span class=slack-community-nudge__mascot-pupil style=left:80.3%;top:59.91% aria-hidden=true></span></button></aside></div> |
| <script src=https://cdnd.selectdb.com/assets/js/runtime~main.0b65bd9d.js></script> |
| <script src=https://cdnd.selectdb.com/assets/js/main.d41424c3.js></script> |