PageSourceSearch

http://www.sqlshack.com/

html sqlshack.com collected 2026-10-01 09:08:37 UTC 293,657 bytes, 2,644 lines download raw bytes

1<!DOCTYPE html>
2
3<!--[if IE 7]>
4
5<html class="ie ie7" lang="en-US" xmlns:fb="https://www.facebook.com/2008/fbml" xmlns:addthis="https://www.addthis.com/help/api-spec" >
6
7<![endif]-->
8
9<!--[if IE 8]>
10
11<html class="ie ie8" lang="en-US" xmlns:fb="https://www.facebook.com/2008/fbml" xmlns:addthis="https://www.addthis.com/help/api-spec" >
12
13<![endif]-->
14
15<!--[if !(IE 7) | !(IE 8)  ]><!-->
16
17<html lang="en-US" xmlns:fb="https://www.facebook.com/2008/fbml" xmlns:addthis="https://www.addthis.com/help/api-spec" >
18
19<!--<![endif]-->
20
21<head>
22<meta charset="UTF-8" />
22<script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"1834954769",accountID:"2004682",trustKey:"82233",xpid:"VgYHVVBbChABU1ZXDwMPUlAB",licenseKey:"c27add20bd",applicationID:"1775828440",browserID:"1834954769"};;/*! For license information please see nr-loader-spa-1.322.0.min.js.LICENSE.txt */
23(()=>{var e={8122(e,t,r){"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),s=0===Object.keys(r).length?e:r;for(let a in s)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):e[a]instanceof Map||e[a]instanceof Set||e[a]instanceof Date||e[a]instanceof RegExp?r[a]=e[a]:"object"==typeof e[a]&&null!==t[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){r[a]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>a});var n=r(384),i=r(8122);const s={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function a(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,s)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["A",0,"@newrelic/rrweb","x",0,"1.322.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},9752(e,t,r){"use strict";const n="newrelic-iframe-",i=n+"timing-update",s=n+"api",a=n+"api-response",o=n+"vitals-update",c=n+"ajax";r.d(t,["$8",0,o,"Gi",0,a,"KU",0,c,"Pl",0,n,"cS",0,s,"cr",0,i])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)();r.d(t,["OF",0,d,"RI",0,i,"WN",0,f,"bv",0,s,"gm",0,a,"lR",0,l,"m",0,c,"mw",0,o,"sb",0,u,"zk",0,()=>{const e=a?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<a.performance.now())return e}])},7295(e,t,r){"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,a;i>0?(s=r.substring(0,i),a=r.substring(i)):(s=r,a="*");let[c]=s.split(":");n.push({hostname:o(c),pathname:o(a,!0)})}}function o(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),a=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};
23e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&u(e))}function d(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,u(e)}}function u(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const s=e.ee,o=i.i.handlers;if(s&&!s.aborted&&s.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=s.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}).forEach(t=>{t[0]?.on&&t[0].context()instanceof a.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}s.isolatedBacklog||delete o[t],s.backlog[t]=null,s.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],s=e[2];n.apply(i,s)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),s=r(2646),a=r(5607);const o="nr@context:".concat(a.W),c=function e(t,r){var n={},a={},u={},l=!1;try{l=16===r.length&&d.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,s){!1!==s&&(s=!0);if(c.aborted&&!i)return;t&&s&&t.emit(e,r,n);var o=h(n);g(e).forEach(e=>{e.apply(o,r)});var d=v()[a[e]];d&&d.push([f,e,r,o]);return o},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{a[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[a[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof s.y?e:e?(0,i.I)(e,o,()=>new s.y(o)):new s.y(o)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=c),r.d(t,["P",0,o,"ee",0,c])},2646(e,t,r){"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908(e,t,r){"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(9908);s.on=a;var i=s.handlers={};function s(e,t,r,s){a(s||n.d,i,e,t,r)}function a(e,t,r,i,s){s||(s="feature"),e||(e=n.d);var a=t[s]=t[s]||{};(a[r]=a[r]||[]).push([e,i])}},3878(e,t,r){"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>s,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>a,ZF:()=>o,bz:()=>s,el:()=>c});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function s(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,s=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var o=0;o<e;o++)a.push(i(r,s++).toString(16));return a.join("")}function o(){return a(16)}function c(){return a(32)}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","g",0,{OFF:0,FULL:1,ERROR:2},"iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},733(e,t,r){"use strict";function n(e,t){return function(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}("".concat(String(e),":").concat(String(t)))}r.d(t,{Y:()=>n})},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},9119(e,t,r){"use strict";r.d(t,{L:()=>s});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,"$1$2"):e}},7485(e,t,r){"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},7866(e,t,r){"use strict";r.d(t,["Nc",0,/^\s*at Function code \(Function code:\d+:\d+\)\s*/i,"cn",0,/^\s*(?:([^@]*)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i,"fL",0,/^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i,"h3",0,/function (.+?)\s*\(/,"hB",0,/^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i])},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},8990(e,t,r){"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},1910(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(944);const i=new Map;function s(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),s=t.includes("nrWrapper");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},3304(e,t,r){"use strict";r.d(t,{A:()=>i});var n=r(7836);function i(e){try{return JSON.stringify(e,(()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}})())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},9232(e,t,r){"use strict";r.d(t,["f",0,{MFE:"MFE",BA:"BA"}])},7560(e,t,r){"use strict";r.d(t,{N:()=>a,j:()=>c});var n=r(9119),i=r(944);const s=(0,r(6389).J)(e=>(0,i.R)(80,e));function a(e){if(!Array.isArray(e?.assets)||!e.assets.length)return;
23const t=e.assets.map(o).filter(Boolean);return t.length?{assets:t,scripts:t.filter(e=>e.isScript)}:void 0}function o(e){if(!e||"object"!=typeof e)return;const{matcher:t,type:r}=e;let i="string"==typeof t&&t.endsWith(".js");return void 0!==r&&(!function(e){return"script"===e||"asset"===e}(r)?s(r):i=function(e){return"script"===e}(r)),a=t,"[object RegExp]"===Object.prototype.toString.call(a)?{pattern:t,test:e=>(t.lastIndex=0,t.test((0,n.L)(e))),isScript:i}:"string"==typeof t&&t.length>0?{pattern:t,test:e=>(0,n.L)(e).includes(t),isScript:i}:void s(t);var a}function c(e,t,{scriptsOnly:r=!1}={}){if(!e||!t)return!1;return(r?e.scripts:e.assets).some(e=>e.test(t))}},5718(e,t,r){"use strict";r.d(t,{xo:()=>T,AZ:()=>v,cI:()=>g,Qr:()=>A,QL:()=>y});var n=r(6154),i=r(1863),s=r(9119),a=r(7866);class o{dom=new c;performance=new c;constructor(e){this.url=e,this.claimedBy=new Set}get script(){const e=Math.max(this.dom.start,this.performance.end);return{start:e,end:Math.max(this.dom.end,this.performance.end,e)}}}class c{start=0;end=0;value=void 0}function d(e=()=>{},t){return{get:()=>void 0!==t?t:e(),set:e=>{t=e}}}let u;try{u=v(y())[0]}catch(e){u=v(e)[0]}const l=new Map;let f=[];const h=new WeakMap;function p(e){let t=h.get(e);return t||(t={weighedAssetUrls:new Set,recordManifestScriptWindow:(t,r)=>{t&&(e.scriptStart=e.scriptStart>0?Math.min(e.scriptStart,t):t),r&&(e.scriptEnd=e.scriptEnd>0?Math.max(e.scriptEnd,r):r)}},h.set(e,t)),t}function g(e){return l.get(e)}function m(e){const t=g(e);
23if(t)return t;const r=new o(e);if(l.set(e,r),l.size>1e3){const e=l.keys().next().value;l.delete(e)}return r}if(n.gm.MutationObserver&&n.gm.document){new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{if("SCRIPT"===e.nodeName&&e.src){const t=m((0,s.L)(e.src));t.dom.start=(0,i.t)(),t.dom.value=e;const r=()=>{t.dom.end=(0,i.t)()};["load","error"].forEach(t=>e.addEventListener(t,r,{once:!0}))}})})}).observe(n.gm.document,{childList:!0,subtree:!0})}if(n.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{if((e=>"script"===e.initiatorType||["link","fetch"].includes(e.initiatorType)&&(0,s.L)(e.name).endsWith(".js"))(e)){const t=m((0,s.L)(e.name));t.performance.start=Math.floor(e.startTime),t.performance.end=Math.floor(e.responseEnd),t.performance.value=e}if(!f.length)return;const t=[];f.forEach(({test:r,addedAt:n},s)=>{(r(e)||(0,i.t)()-n>1e4)&&t.push(s)}),f=f.filter((e,r)=>!t.includes(r))})}).observe({type:"resource",buffered:!0})}function v(e){if(!e||"string"!=typeof e)return[];const t=new Set,r=e.split("\n");for(const e of r){const r=e.match(a.cn)||e.match(a.hB)||e.match(a.fL);if(r&&r[2])t.add((0,s.L)(r[2]));else{const r=e.match(/\(([^)]+\.js):\d+:\d+\)/)||e.match(/^\s+at\s+([^\s(]+\.js):\d+:\d+/);r&&r[1]&&t.add((0,s.L)(r[1]))}}return[...t]}function y(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}function b(e,t){return(0,s.L)(e.name)===t}function E(e,t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType,w(e,t)}function w(e,t){const r=(0,s.L)(t.name),{weighedAssetUrls:n}=p(e);n.has(r)||(n.add(r),e.totalWeight=(e.totalWeight||0)+(t.transferSize||0),"blocking"===t.renderBlockingStatus?e.renderBlocking=!0:"non-blocking"===t.renderBlockingStatus&&!0!==e.renderBlocking&&(e.renderBlocking=!1))}function R(e,t,r,n,i){if(w(e,t),"scripts"!==i&&"all"!==i)return;if("all"===i||r.isScript){const r=Math.floor(t.startTime),n=Math.floor(t.responseEnd);e.fetchStart=e.fetchStart>0?Math.min(e.fetchStart,r):r,e.fetchEnd=e.fetchEnd>0?Math.max(e.fetchEnd,n):n}if(r.isScript){const r=g((0,s.L)(t.name));if(r){const t=()=>{const{start:t,end:n}=r.script;p(e).recordManifestScriptWindow(t,n)};t(),!r.dom.end&&r.dom.value&&["load","error"].forEach(e=>r.dom.value.addEventListener(e,t,{once:!0}))}n.resolved||(e.asset=t.name,e.type=t.initiatorType,n.resolved=!0)}}function T(e,t){const r=t?.manifest;if(!r||!r.assets.length)return;const s={resolved:!1},a=new Set(r.assets);(n.gm.performance?.getEntriesByType("resource")||[]).forEach(r=>{const n=[...a].find(e=>e.test(r.name));n&&(R(e,r,n,s,t.timingMethod),a.delete(n))}),a.size&&function(e,t,r,s){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:n=>{const i=[...t].find(e=>e.test(n.name));return i&&(R(e,n,i,r,s),t.delete(i)),0===t.size}})}(e,a,s,t.timingMethod)}function A(e){const t=e?.id,r={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,scriptStart:0,scriptEnd:0,asset:void 0,type:"unknown",totalWeight:0,renderBlocking:void 0},a=y();if(!a)return r;const o=n.gm.performance?.getEntriesByType("navigation")?.[0]?.name||"";try{const e=v(a),c=(e.length>1?e.filter(e=>u!==e):e)[0];if(!c)return r;if(o.includes(c))return r.asset=(0,s.L)(o),r.type="inline",r;r.correlation=g(c);const l=r.correlation?.performance.value||n.gm.performance?.getEntriesByType("resource")?.find(e=>b(e,c));if(l)E(r,l);else{(function(e){if(!e||!n.gm.document)return!1;try{const t=n.gm.document.querySelectorAll('link[rel="preload"][as="script"]');for(const r of t)if((0,s.L)(r.href)===e)return!0}catch(e){}return!1})(c)&&(r.asset=c,r.type="preload"),function(e,t){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:r=>!!b(r,t)&&(E(e,r),!0)})}(r,c)}const h=r.correlation,m=!!t&&!!h?.claimedBy.has(t);h&&t&&h.claimedBy.add(t);const y=()=>{const e=h?.script.start;if(!m||!e)return!1;return r.registeredAt-e>1e4};let w=0,R=0;p(r).recordManifestScriptWindow=(e,t)=>{e&&(w=w>0?Math.min(w,e):e),t&&(R=R>0?Math.max(R,t):t)},Object.defineProperty(r,"scriptStart",d(()=>{const e=y()?r.registeredAt:h?.script.start??r.fetchEnd;return w>0?Math.min(e,w):e})),Object.defineProperty(r,"scriptEnd",d(()=>{const e=y()?r.registeredAt:h?.script.end??r.registeredAt;return R>0?Math.max(e,R):e}))}catch(e){}return r}},5732(e,t,r){"use strict";r.d(t,{$5:()=>m,B5:()=>g,K6:()=>u,M$:()=>
23o,Ms:()=>d,NG:()=>c,Ux:()=>h,YA:()=>p,yx:()=>l});var n=r(5718),i=r(7560),s=r(9119),a=r(9232);function o(e){return e?.type===a.f.MFE}function c(e,t){if(!y(e,t))return;const r=t.runtime.registeredEntities;return r?.find(t=>t.metadata.target.iframeInterfaceId===e)}function d(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities;return r?.filter(t=>String(t.metadata.target.id)===String(e)).map(e=>e.metadata.target)||[]}function u(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=(0,s.L)(e),a=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!1}):!!t.metadata.timings?.asset&&(0,s.L)(t.metadata.timings.asset)===n});return f(a).map(e=>e.metadata.target)}function l(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!0}):!!t.metadata.timings?.asset?.endsWith(e)});return f(n).map(e=>e.metadata.target)}function f(e){if(!e?.length)return e||[];const t=new Map,r=[];for(const n of e){const e=n.metadata?.timings?.asset;if(!e){r.push(n);continue}const i="".concat(e,"::").concat(n.metadata?.target?.id),s=t.get(i);if(s){if(s.metadata.target?.blocked&&!n.metadata.target?.blocked){const e=r.indexOf(s);-1!==e&&(r[e]=n),t.set(i,n)}}else t.set(i,n),r.push(n)}return r}function h(e,t){return v(t)?o(e)?e.attributes:t.agentRef.runtime.v2Target.attributes:{}}function p(e,t){return g(e,t)?{"child.id":e.id,"child.type":e.type,...h(void 0,t)}:{}}function g(e,t){return o(e)&&!!v(t)&&t.agentRef.init.api.register.duplicate_data_to_container}function m(e){if(!e?.runtime)return[];if(!y(!0,e)||!e.runtime.registeredEntities?.length)return[e.runtime.v2Target];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...l(r[i--],e))}catch(e){}const i=function(e){const t=new Set,r=[];for(const n of e){const e=n?.instance;t.has(e)||(t.add(e),r.push(n))}return r}(t);return i.length||i.push(e.runtime.v2Target),i}function v(e){return 2===e?.harvestEndpointVersion}function y(e,t){return!!e&&!!t?.init.api.register.enabled}},5289(e,t,r){"use strict";r.d(t,{GG:()=>a,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function s(){return"undefined"==typeof document||"complete"===document.readyState}function a(e,t){if(s())return e();const r=(0,i.J)(e),a=setInterval(()=>{s()&&(clearInterval(a),r())},500);(0,n.sp)("load",r,t)}function o(e){if(s())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(s())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>u,dV:()=>d,pV:()=>l});var n=r(6154),i=r(1863),s=r(944),a=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function d(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,a.i)(...Object.values(e.o))),e}function u(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,s.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>s,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function s(e,t,r){(0,n.sp)("pagehide",e,t,r)}},8139(e,t,r){"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),s=r(8990),a=r(6154);const o={},c=a.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e,t){var r=function(e){return(e||n.ee).get("events")}(e);if(o[r.debugId]++)return r;o[r.debugId]=1;var f=(0,i.YM)(r,!0,t);function p(e){f.inPlace(e,[d,u],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,p),c&&h(c.prototype,p),h(a.gm,p)),r.on(d+"-start",function(e,t){var r=e[1];if(null!==r&&("function"==typeof r||"object"==typeof r)&&"newrelic"!==e[0]){var n=(0,s.I)(r,l,function(){var e={object:function(){if("function"!=typeof r.handleEvent)return;return r.handleEvent.apply(r,arguments)},function:r}[typeof r];return e?f(e,"fn-",null,e.name||"anonymous"):r});this.wrapped=e[1]=n}}),r.on(u+"-start",function(e){e[1]=this.wrapped||e[1]}),r}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434(e,t,r){"use strict";r.d(t,{YM:()=>d});var n=r(7836),i=r(5607),s=r(5732);const a="nr@original:".concat(i.W);var o=Object.prototype.hasOwnProperty,c=!1;function d(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,a){r||(r="");const o="-"===r.charAt(0);for(let c=0;c<t.length;c++){const d=t[c],u=e[d];l(u)||(e[d]=i(u,o?d+r:r,n,d,s,a))}},i.flag=a,i;function i(t,n,i,c,f,h){return l(t)?t:(n||(n=""),nrWrapper[a]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach(function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})}),t}catch(e){u([e],r)}for(var n in e)o.call(e,n)&&(t[n]=e[n])}
23(t,nrWrapper,e),nrWrapper);function nrWrapper(){var a,o,l,p;let g,m;try{o=this,a=[...arguments],m=h?(0,s.$5)(r):[r?.runtime?.v2Target],l="function"==typeof i?i(a,o):i||{}}catch(t){u([t,"",[a,o,c],l],e)}d(n+"start",[a,o,c,m],l,f);const v=performance.now();let y;try{return p=t.apply(o,a),y=performance.now(),p}catch(e){throw y=performance.now(),d(n+"err",[a,o,e,m],l,f),g=e,g}finally{const e=y-v,t={start:v,end:y,duration:e,isLongTask:e>=50,methodName:c,thrownError:g};t.isLongTask&&d("long-task",[t,o,m],l,f),d(n+"end",[a,o,p,m],l,f)}}}function d(r,n,i,s){if(!c||t){var a=c;c=!0;try{e.emit(r,n,i,t,s)}catch(t){u([t,r,n,i],e)}c=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function l(e){return!(e&&"function"==typeof e&&e.apply&&!e[a])}r.d(t,["Jt",0,a])},9300(e,t,r){"use strict";const n=r(860).K7.ajax;r.d(t,["TZ",0,n,"f5",0,"ajaxRequest.id","mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3333(e,t,r){"use strict";var n=r(981);const i=r(860).K7.genericEvents,s=[n.R.PA,n.R.UA,n.R.BP];r.d(t,["$v",0,{RESOURCES:"experimental.resources",REGISTER:"register"},"TZ",0,i,"Zp",0,["auxclick","click","copy","keydown","paste","scrollend"],"kd",0,s,"qN",0,["focus","blur"]])},6774(e,t,r){"use strict";const n=r(860).K7.jserrors;r.d(t,["T",0,n])},993(e,t,r){"use strict";const n=r(860).K7.logging;r.d(t,["A$",0,{OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},"TZ",0,n,"p_",0,{ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"}])},3785(e,t,r){"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),s=r(860),a=r(3969),o=r(993);function c(e,t,r={},c=o.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,s.K7.metrics,e),(0,n.p)("log",[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(o.p_).some(t=>t===e.toUpperCase().trim())}},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},6344(e,t,r){"use strict";var n=r(2614);const i=r(860).K7.sessionReplay,s={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0}
23;r.d(t,["Qb",0,{API:"api",RESUME:"resume",SWITCH_TO_FULL:"switchToFull",INITIALIZE:"initialize",PRELOAD:"preload"},"TZ",0,i,"Vh",0,"errorDuringReplay","_s",0,{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},"bc",0,{RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},"yP",0,s])},5270(e,t,r){"use strict";r.d(t,{Aw:()=>a,SR:()=>s,rF:()=>o});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function a(e){return!0===e?.session_replay.preload&&s(e)}function o(e,t){try{if("string"==typeof t?.type&&"password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},3738(e,t,r){"use strict";const n=r(860).K7.sessionTrace,i="-start",s="-end",a="fn"+i,o="fn"+s;r.d(t,["He",0,"bstResource","Kp",0,s,"Lc",0,o,"Rz",0,"pushState","TZ",0,n,"bD",0,"resource","bc",0,{CROSS_TAB:{message:"Session Entity was set to OFF on another tab"},ENTITLEMENTS:{message:"Session Trace is not allowed and will not be started"},RESET:{message:"Session was reset"},SESSION_CHANGED:{message:"Session identifier changed unexpectedly"}},"d3",0,i,"uP",0,a])},3962(e,t,r){"use strict";const n=r(860).K7.softNav;r.d(t,["O2",0,{INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},"OV",0,"popstate","Qu",0,{INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},"TZ",0,n,"ih",0,{IP:"in progress",PF:"pending finish",FIN:"finished",CAN:"cancelled"},"pP",0,"initialPageLoad","tC",0,["click","keydown","submit"]])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>s});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>s});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","hw",0,"api-ixn-","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>u});var n=r(3241),i=r(9908),s=r(1863),a=r(944),o=r(3969),c=r(8362),d=r(860);function u(e,t,r,s){const u=s||r;!u||u[e]&&u[e]!==c.d.prototype[e]||(u[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,a.R)(23,e)}})}function l(e,t,r,n,a){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(a||null===r)&&(0,i.p)("api-"+n,[(0,s.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",s="browser/blobs",a="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},d={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:s,[o.sessionReplay]:s,[o.logging]:a,[o.genericEvents]:"ins"};r.d(t,["$J",0,d,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,a,"df",0,s,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],s=t[n++];r.o(e,i)?0===s&&n++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>({212:"nr-spa-compressor",238:"nr-spa-iframe-message-handler",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.322.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.322.0.PROD:";r.l=(n,i,s,a)=>
23{if(e[n])return void e[n].push(i);let o,c;if(void 0!==s){const e=document.getElementsByTagName("script");for(var d=0;d<e.length;d++){const r=e[d];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+s){o=r;break}}}if(!o){c=!0;var u={478:"sha512-SARROoir04gFygxlr/+mTI+PyMeFL+epi1vnUA2G5mTQ7s3G44ItQBJKbOaIMdIE5OBzuaKhb4k5JYta0NICxg==",249:"sha512-6DKQo5WP7YlpzX6l9UfYkgGLGK2oITdoaYTcZtgl5Foa22NY63lED/0z1hBBLeD7qZCz/YdlY19/r8drlol1tg==",212:"sha512-CYxuvSpDx6ErqWJwAvpoHn54eY37YdMcFao/axOumlw3BsSL7yioOeB2LWViY/Njs818sQG10dSglUhYCMfLPw==",238:"sha512-mvbMILWa3ohYst+u6TLfNrmtY2swUIB3rbJFN/uzt3W62KhgvUVwB81UEZ1R0/it5bfrQ5EVz864pi/CAmucNQ=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+s),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),u[a]&&(o.integrity=u[a])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={38:0,788:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const s=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=s);const a=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(a,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,s,a]=n;var o,c,d=0;if(i.some(t=>0!==e[t])){for(o in s)r.o(s,o)&&(r.m[o]=s[o]);if(a)a(r)}for(t&&t(n);d<i.length;d++)c=i[d],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.322.0.PROD"]=self["webpackChunk:NRBA-1.322.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),s=r(1741);var a=r(2555),o=r(3333),c=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(2614),l=r(944),f=r(8122);const h="[data-nr-mask]",p=e=>(0,f.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:c.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(o.$v.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,l.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:u.wk,inactiveMs:u.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inl
23ine_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(h):""===t||null===t?e.mask_selector=h:(0,l.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var g=r(6154),m=r(9324);let v=0;const y={buildEnv:"PROD",distMethod:"CDN",version:m.x,originTime:g.WN},b={consented:!1},E={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||b.consented},set consented(e){b.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++v},listeningForIframeMessages:!1};var w=r(9232);var R=r(7836),T=r(3241);const A={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908),x=r(9752);function O(e,t={},n,o){let{init:c,info:d,loader_config:u,runtime:l={},exposed:h=!0}=t;if(!d){const e=(0,i.pV)();c=e.init,d=e.info,u=e.loader_config}var m;e.init=p(c||{}),e.loader_config=(m=u||{},(0,f.a)(m,A)),d.jsAttributes??={},g.bv&&(d.jsAttributes.isWorker=!0),e.info=(0,a.D)(d);const v=e.init;e.runtime??=(e=>{const t=(0,f.a)(e,E),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:w.f.BA,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(s.W.prototype).forEach(r=>{const n=s.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=R.ee.get(e.agentIdentifier),e.exposed=h,(0,T.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&g.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(x.Pl)&&(0,S.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var _=r(1863),k=r(4261),N=r(1738);var L=r(1687),M=r(4234),P=r(5289),I=r(5270),j=r(7767),C=r(6389),D=r(7699);const B=new WeakSet,H=new WeakMap;class W extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,C.J)(()=>{(0,L.Ak)(e,this.featureName),t()}))}):(0,L.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,a.f)(e.info))return(0,l.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(H.has(e))return H.get(e);const i=(async()=>
23{if((0,j.V)(e.init))try{const{setupAgentSession:t}=await r.e(478).then(r.bind(r,8766));t(e)}catch(e){(0,l.R)(20,e),t.emit("internal-error",[e]),(0,S.p)(D.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await r.e(238).then(r.bind(r,6417));t(e)}catch(e){(0,l.R)(23,e)}const[{Connector:i},{Harvester:s}]=await Promise.all([r.e(478).then(r.bind(r,6589)),r.e(478).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new s(e);const a=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(a.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();H.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,l.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};g.RI?(0,P.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,I.SR)(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!B.has(e)&&(B.add(e),!(0,a.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}O(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var U=r(6630);class K extends W{static featureName=U.T;constructor(e){var t;super(e,U.T),this.setupInspectionEvents(),t=e,(0,N.Y)(k.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,S.p)("api-"+k.Fw,[(0,_.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(478).then(r.bind(r,908)):r.e(478).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,T.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,P.sB)(t=>{e(t,"DOMContentLoaded")}),(0,P.GG)(t=>{e(t,"load")}),(0,P.Qr)(t=>{e(t,"navigate")}),this.ee.on(u.tS.UPDATE,(e,t)=>{(0,T.W)({type:"lifecycle",name:"session",data:t})})}}class F extends e.d{constructor(e){var t;(super(),g.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(K),O(this,e,e.loaderType||"agent"),t=this,(0,N.Y)(k.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,k.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)},t),function(e){(0,N.Y)(k.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,l.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,S.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,N.U)(e,"enduser.id",t,k.Dl,!0)},e)}(this),function(e){(0,N.Y)(k.nb,function(t){if("string"==typeof t||null===t)return(0,N.U)(e,"application.version",t,k.nb,!1);(0,l.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,N.Y)(k.Pv,function(t=!0){if("boolean"==typeof t){if((0,S.p)("api-"+k.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,l.R)(65,typeof t)},e)}(this),this.run()):(0,l.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,l.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var V=r(2843),z=r(782);class G extends W{static featureName=z.T;constructor(e){super(e,z.T),g.RI&&((0,V.u)(()=>(0,S.p)("docHidden",[(0,_.t)()],void 0,z.T,this.ee),!0),(0,V.G)(()=>(0,S.p)("winPagehide",[(0,_.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(478).then(r.bind(r,9917))))}}var q=r(3969);class Y extends W{static featureName=q.TZ;constructor(e){super(e,q.TZ),this.importAggregator(e,()=>r.e(478).then(r.bind(r,6555)))}}var Z=r(6774),J=r(3878),X=r(3304);class Q{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,X.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function ee(e){return ne(e)?e:new Q(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function te(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(ne(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return ee(e.reason)}const r=ee(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function re(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new Q(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return ne(e.error)?e.error:ee(e)}function ne(e){return e instanceof Error&&!!e.stack}function ie(e,r,n,i,s=(0,_.t)()){"string"==typeof e&&(e=new Error(e)),(0,S.p)("err",[e,s,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,n.ee)}var se=r(993),ae=r(3785);function oe(e,{customAttributes:t={},level:r=se.p_.INFO}={},n,i,s=(0,_.t)()){(0,ae.R)(n.ee,e,t,r,!1,i,s)}function ce(e,r,n,i,s=(0,_.t)()){(0,S.p)("api-"+k.hG,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}function de(e,r,n,i,s=(0,_.t)()){const{start:a,end:o,customAttributes:c}=r||{},d={customAttributes:c||{}};if("object"!=typeof d.customAttributes||"string"!=typeof e||0===e.length)return void(0,l.R)(57);const u=(e,t)=>
23null==e?t:"number"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(d.start=u(a,0),d.end=u(o,s),Number.isNaN(d.start)||Number.isNaN(d.end))(0,l.R)(57);else{if(d.duration=d.end-d.start,!(d.duration<0))return(0,S.p)("api-"+k.V1,[d,e,i],void 0,t.K7.genericEvents,n.ee),d;(0,l.R)(58)}}function ue(e,r={},n,i,s=(0,_.t)()){(0,S.p)("api-"+k.fF,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}var le=r(5718);const fe=(e,t)=>e?.nrMfeId===t.id&&(!e?.nrMfeObserved||e?.nrMfeObserved===t.instance),he=e=>{try{return g.gm.CSS.escape(e)}catch(t){return e}},pe=(e,t={})=>{const r=t.id,n=t.instance;if(!e||!r||!n)return!1;try{let r=1===e.nodeType?e:e.parentElement;for(;r?.tagName;){if(fe(r.dataset,t))return r.dataset.nrMfeObserved=n,!0;r=r.parentNode}}catch(e){}return!1},ge=(e,t)=>{const r=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]')),n=(Array.from(r)||[]).find(t=>fe(t.dataset,e));let i=!!n;i&&(n.dataset.nrMfeObserved??=e.instance);const s=new g.gm.MutationObserver(r=>{r.forEach(r=>{r.addedNodes.forEach(r=>{const n=1===r.nodeType?r:null;!i&&fe(n?.dataset,e)&&(s.disconnect(),s.observe(n,{childList:!0,subtree:!0}),i=!0,n.dataset.nrMfeObserved=e.instance),(e=>{try{return e?.textContent?.trim()||["img","video","canvas","svg"].includes(e?.nodeName?.toLowerCase())}catch(e){return!1}})(r)&&(i||pe(r,e))&&t(r,s)})})});return s.observe(n||g.gm.document,{childList:!0,subtree:!0}),s},me=(e,t,r)=>{try{const n=new g.gm.PerformanceObserver(e=>{e.getEntries().forEach(r)});return n.observe(t),e.push(n),n}catch(e){return null}};function ve(e,t){let r,n,i=!1;const s=e=>null==e?e:e-(t?.scriptStart||t?.registeredAt||0),a={fcp:{get value(){const e=s(r);return e>1e4?void 0:e},set value(e){i||(r=e)}},lcp:{get value(){if(void 0!==a.fcp.value)return s(n)},set value(e){i||(n=e)}},cls:{value:void 0},inp:{value:void 0},disconnect:()=>{}};if(!(e&&g.RI&&g.gm.MutationObserver&&g.gm.PerformanceObserver))return a;const o=[];setTimeout(()=>{r||a.disconnect()},1e4);const c=()=>{if(!i){if(null==r){const e=(0,_.t)();if(s(e)>1e4)return void a.disconnect();r=e}n??=(0,_.t)(),a.cls.value??=0}},d=ge(e,(e,t)=>{c(),t.disconnect()});o.push(d);let u=0,l=null;const f=new Set;try{l=new g.gm.ResizeObserver(e=>{i||e.forEach(e=>{try{const t=e.contentRect.width*e.contentRect.height;t>u&&(u=t,a.lcp.value=(0,_.t)()),l.unobserve(e.target)}catch(e){}})})}catch(e){}const h=ge(e,e=>{if(c(),l)try{const t=1===e.nodeType?e:e.parentElement;t&&!f.has(t)&&(f.add(t),"IMG"===t.tagName?t.complete?l.observe(t):t.addEventListener("load",()=>{l.observe(t)},{once:!0}):"VIDEO"===t.tagName?t.readyState>=2?l.observe(t):t.addEventListener("loadeddata",()=>{l.observe(t)},{once:!0}):l.observe(t))}catch(e){}});l&&o.push(l),o.push(h),me(o,{type:"layout-shift",buffered:!0},t=>{i||t.hadRecentInput||(t.sources||[]).some(r=>!!pe(r.node,e)&&(c(),a.cls.value+=t.value,!0))}),me(o,{type:"event",buffered:!0,durationThreshold:40},t=>{!i&&t.interactionId&&pe(t.target,e)&&(void 0===a.inp.value||t.duration>a.inp.value)&&(c(),a.inp.value=t.duration)});const p=["pointerdown","keydown"],m=()=>{p.forEach(e=>{g.gm.removeEventListener(e,v,{passive:!0})})};a.disconnect=()=>{i=!0,o.forEach(e=>{try{e?.disconnect()}catch(e){}}),m(),["visibilitychange","pagehide"].forEach(e=>{g.gm.removeEventListener(e,a.disconnect,{once:!0,passive:!0})})};const v=t=>{pe(t?.target,e)&&((()=>{try{h?.disconnect(),l?.disconnect()}catch(e){}})(),m())};p.forEach(e=>{g.gm.addEventListener(e,v,{passive:!0})}),["visibilitychange","pagehide"].forEach(e=>{g.gm.addEventListener(e,a.disconnect,{once:!0,passive:!0})});const y=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]'));return Array.from(y||[]).some(t=>fe(t.dataset,e))&&c(),a}var ye=r(9566),be=r(7560),Ee=r(9119);const we=["entry","scripts","all"],Re=["name","id","type"],Te=new Map([[ce,"addPageAction"],[oe,"log"],[de,"measure"],[ie,"noticeError"],[ue,"recordCustomEvent"]]),Ae={experimental:(0,C.J)(()=>(0,l.R)(54,"newrelic.register")),disabled:(0,C.J)(()=>(0,l.R)(55)),invalidTarget:(0,C.J)(e=>(0,l.R)(48,e)),deregistered:(0,C.J)(()=>(0,l.R)(68)),invalidTimingMethod:(0,C.J)(e=>(0,l.R)(80,e)),duplicateName:(0,C.J)(e=>(0,l.R)(81,e)),duplicateId:(0,C.J)(e=>(0,l.R)(82,e))};function Se(e){(0,N.Y)(k.eY,function(t){return xe(e,t)},e)}function xe(e,r){Ae.experimental(),r||={},r.instance=(0,ye.LA)(8),r.type=w.f.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,("object"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))&&(r.tags={}),r.parent??={get id(){return e.runtime.appMetadata.agents?.[0].entityGuid},type:w.f.BA},r.manifest=(0,be.N)(r.manifest),void 0===r.timingMethod||we.includes(r.timingMethod)||(Ae.invali
23dTimingMethod(r.timingMethod),r.timingMethod=void 0);const n=(0,le.Qr)(r);r.manifest&&(0,le.xo)(n,r);const i=ve(r,n),s=(0,Ee.L)(""+location),a={};Object.prototype.hasOwnProperty.call(r,"attributes")||Object.defineProperty(r,"attributes",{get:()=>({...a,"source.id":r.id,"source.name":r.name,"source.type":r.type,"parent.type":r.parent?.type||w.f.BA,"parent.id":r.parent?.id})}),Object.entries(r.tags).forEach(([e,t])=>{Re.includes(e)||(a["source.".concat(e)]=t)});let o=()=>{};const c=e.runtime.registeredEntities,d=e=>{r.blocked=!0,o=e};function u(e){return"string"==typeof e&&!!e.trim()&&e.trim().length<501}e.init.api.register.enabled||d(Ae.disabled),u(r.id)&&u(r.name)||d(()=>Ae.invalidTarget(r)),c.forEach(e=>{try{const{name:t,id:n}=e.metadata.target;t===r.name&&n!==r.id&&Ae.duplicateName(r),n===r.id&&t!==r.name&&Ae.duplicateId(r)}catch(e){}});const f={addPageAction:(t,n={})=>m(ce,[t,{...a,...n},e],r),deregister:()=>{p(),d(Ae.deregistered)},log:(t,n={})=>m(oe,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=>m(de,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=>m(ie,[t,{...a,...n},e],r),recordCustomEvent:(t,n={})=>m(ue,[t,{...a,...n},e],r),setApplicationVersion:e=>g("application.version",e),setCustomAttribute:(e,t)=>g(e,t),setUserId:e=>g("enduser.id",e),metadata:{get customAttributes(){return a},target:r,timings:n,vitals:i,events:{latestTimestamp:void 0}}},h=()=>(r.blocked&&o(),r.blocked);function p(){if(n.reportedAt)return;n.reportedAt=(0,_.t)(),i.disconnect(),n.fcp=i.fcp,n.lcp=i.lcp,n.cls=i.cls,n.inp=i.inp;const e=n.fetchEnd-n.fetchStart,t=n.scriptEnd-n.scriptStart,r={assetUrl:n.asset,assetType:n.type,registerUrl:s,deregisterUrl:(0,Ee.L)(""+location),pageUrl:void 0,currentUrl:void 0,timeAlive:n.reportedAt-n.registeredAt,timeToBeRequested:n.fetchStart,timeToExecute:t,timeToFetch:e,timeToLoad:e+t,t
23imeToRegister:n.registeredAt,totalWeight:n.totalWeight,...void 0!==n.renderBlocking&&{renderBlocking:n.renderBlocking},...i.fcp.value>=0&&{"vitals.fcp.value":i.fcp.value},...i.lcp.value>=0&&{"vitals.lcp.value":i.lcp.value},...i.cls.value>=0&&{"vitals.cls.value":i.cls.value},...i.inp.value>=0&&{"vitals.inp.value":i.inp.value}};f.recordCustomEvent("MicroFrontEndTiming",r)}h()||(c.push(f),(0,V.G)(p));const g=(e,t)=>{h()||(a[e]=t)},m=(r,n,i)=>{if(h()&&r!==xe)return;const s=f.metadata.events.latestTimestamp??(0,_.t)();f.metadata.events.latestTimestamp=void 0;const a=Te.get(r)||"unknown";(0,S.p)(q.xV,["API/register/".concat(a,"/called")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,s)}catch(e){(0,l.R)(50,e)}};return f}class Oe extends W{static featureName=Z.T;constructor(e){var t;super(e,Z.T),t=e,(0,N.Y)(k.o5,(e,r)=>ie(e,r,t),t),function(e){(0,N.Y)(k.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,N.Y)(k.k6,function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))},e)}(e),Se(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(t,r)=>{this.abortHandler&&(0,S.p)("ierr",[ee(t),(0,_.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),g.gm.addEventListener("unhandledrejection",t=>{this.abortHandler&&(0,S.p)("err",[te(t),(0,_.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",t=>{this.abortHandler&&(0,S.p)("err",[re(t),(0,_.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e,()=>r.e(478).then(r.bind(r,9377)))}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var _e=r(8990);let ke=1;function Ne(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,_e.I)(e,"nr@id",function(){return ke++})}function Le(e){if("string"==typeof e)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,X.A)(e).length}catch(e){return}}}var Me=r(8139),Pe=r(3434),Ie=r(5732);const je={},Ce=["open","send","setRequestHeader"];function De(e,t){var r=e||R.ee;const n=function(e){return(e||R.ee).get("xhr")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(je[n.debugId]++)return n;je[n.debugId]=1,(0,Me.u)(r,t);var i=(0,Pe.YM)(n,void 0,t),s=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,o=g.gm.Promise,c=g.gm.setInterval,d="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],f=[],h=g.gm.XMLHttpRequest=function(e){const r=new s(e),a=n.context(r);a.targets=(0,Ie.$5)(t);try{n.emit("new-xhr",[r],a),r.addEventListener(d,(o=a,function(){var e=this;e.readyState>3&&!o.resolved&&(o.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,u,"fn-",E)}),(0,J.jT)(!1))}catch(e){(0,l.R)(15,e);try{n.emit("internal-error",[e])}catch(e){}}var o;return r};function p(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,h),h.prototype=s.prototype,i.inPlace(h.prototype,Ce,"-xhr-",E),n.on("send-xhr-start",function(e,t){p(e,t),function(e){f.push(e),a&&(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on("open-xhr-start",p),a){var m=o&&o.resolve();if(!c&&!o){var v=1,y=document.createTextNode(v);new a(b).observe(y,{characterData:!0})}}else r.on("fn-end",function(e){e[0]&&e[0].type===d||b()});function b(){for(var e=0;e<f.length;e++)p(0,f[e]);f.length&&(f=[])}function E(e,t){return t}return n}var Be="fetch-",He=Be+"body-",We=["arrayBuffer","blob","json","text","formData"],Ue=g.gm.Request,Ke=g.gm.Response,Fe="prototype";const Ve={};function ze(e,t){const r=function(e){return(e||R.ee).get("fetch")}(e);if(!(Ue&&Ke&&g.gm.fetch))return r;if(Ve[r.debugId]++)return r;function n(e,n,i){var s=e[n];"function"==typeof s&&(e[n]=function(){var e=[...arguments];const n={},a=(0,Ie.$5)(t);var o;r.emit(i+"before-start",[e],n),n[R.P]&&n[R.P].dt&&(o=n[R.P].dt);var c=s.apply(this,e);return r.emit(i+"start",[e,o],c),c.then(function(e){return r.emit(i+"end",[null,e,a],c),e},function(e){throw r.emit(i+"end",[e,void 0,a],c),e})})}
23return Ve[r.debugId]=1,We.forEach(e=>{n(Ue[Fe],e,He),n(Ke[Fe],e,He)}),n(g.gm,"fetch",Be),r.on(Be+"end",function(e,n,i){var s=this;if(s.targets=i||[t.runtime.v2Target],n){var a=n.headers.get("content-length");null!==a&&(s.rxSize=a),r.emit(Be+"done",[null,n],s)}else r.emit(Be+"done",[e],s)}),r}var Ge=r(7485);class qe{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||"").toString()||null,n=(t.agentID||"").toString()||null,i=(t.trustKey||"").toString()||null;if(!r||!n)return null;var s=(0,ye.ZF)(),a=(0,ye.el)(),o=Date.now(),c={spanId:s,traceId:a,timestamp:o};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(c.traceContextParentHeader=this.generateTraceContextParentHeader(s,a),c.traceContextStateHeader=this.generateTraceContextStateHeader(s,o,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(c.newrelicHeader=this.generateTraceHeader(s,a,o,r,n,i)),c}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,s){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(a.d.tk=s),btoa((0,X.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,Ge.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var Ye=r(7295);function Ze(e){return"string"==typeof e?e:e instanceof(0,i.dV)().o.REQ?e.url:g.gm?.URL&&e instanceof URL?e.href:void 0}function $e(e,t){var r=(0,Ge.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Je=["load","error","abort","timeout"],Xe=Je.length,Qe=(0,i.dV)().o.REQ,et=(0,i.dV)().o.XHR;const tt="X-NewRelic-App-Data",rt="internal-error";class nt extends W{static featureName=c.TZ;constructor(e){super(e,c.TZ),this.dt=new qe(e),this.handler=(e,t,r,n)=>(0,S.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach(r=>{if(r.initiatorType in e&&0!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};$e(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}ze(this.ee,e),De(this.ee,e),function(e,r,n,i){const s=[c.mo.ALL,c.mo.FAILURES].includes(e.init.ajax?.capture_payloads);function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=A,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener("load",function(r){O(t,e)},(0,J.jT)(!1)),g.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,J.jT)(!1))}function o(e){this.params={method:e[0]},$e(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),s=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),s=!0),s&&(this.dt=n)}}function u(e,t){s&&e.length>=2&&(this.requestHeaders??={},this.requestHeaders[e[0].toLowerCase()]=e[1])}function l(e,t){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=Le(i);a&&(n.txSize=a)}this.startTime=(0,_.t)(),this.requestBody=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"
23!==e.type||s.called===s.totalCbs&&(s.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof s.end)&&s.end(t)}catch(e){try{r.emit(rt,[e])}catch(e){}}};for(var o=0;o<Xe;o++)t.addEventListener(Je[o],this.listener,(0,J.jT)(!1))}function f(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function h(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function m(){this.endTime=(0,_.t)()}function v(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-added",[e[1],e[2]],t)}function y(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-removed",[e[1],e[2]],t)}function b(e,t,r){t instanceof et&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,_.t)()))}function E(e,t){this.xhrCbStart&&r.emit("xhr-cb-time",[(0,_.t)()-this.xhrCbStart,this.onload,t],t)}function w(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,Ge.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)o(e[0].headers,n)&&(this.dt=n);else{var s={};for(var a in r)s[a]=r[a];s.headers=new Headers(r.headers||{}),o(s.headers,n)&&(this.dt=n),e.length>1?e[1]=s:e.push(s)}}function o(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function R(e,t){this.params={},this.metrics={},this.startTime=(0,_.t)(),this.dt=t;let[r,n={}]=e;$e(this,Ze(r));const i=(""+(r&&r instanceof Qe&&r.method||n.method||"GET")).toUpperCase();this.params.method=i,this.txSize=Le(n.body||r?.body)||0;try{var a=n.headers||r?.headers;if(s&&a)if(this.requestHeaders??={},a instanceof Headers)a.forEach(function(e,t){this.requestHeaders[t.toLowerCase()]=e}.bind(this));else if("object"==typeof a)for(var o in a)this.requestHeaders[o.toLowerCase()]=a[o]}catch(e){}this.requestBody=n.body||r?.body}function T(e,t){if(this.endTime=(0,_.t)(),this.params||(this.params={}),(0,Ye.iW)(this.params))return;this.params.status=t?t.status:0;const n=()=>{const e=+this.rxSize,t=null==this.rxSize||isNaN(e)?void 0:e,r={txSize:this.txSize,rxSize:t,duration:this.endTime-this.startTime},n=[this.params,r,this.startTime,this.endTime,"fetch"];this.targets.forEach(e=>x(n,this,e))};t&&s?t.clone().text().then(e=>{this.responseBody=e,this.rxSize&&"0"!==this.rxSize&&0!==this.rxSize||void 0===e||0===this.params.status||(this.rxSize=Le(e)),t?.headers&&(this.responseHeaders={},t.headers.forEach(function(e,t){this.responseHeaders[t.toLowerCase()]=e}.bind(this)))}).catch(e=>{r.emit(rt,[e])}).finally(()=>{n()}):n()}function A(e){const t=this.params,n=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t<Xe;t++)e.removeEventListener(Je[t],this.listener,!1);if(t.aborted)return;if((0,Ye.iW)(t))return;if(n.duration=this.endTime-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):O(this,e),n.cbTime=this.cbTime,s){try{this.responseBody=e.responseText}catch(t){this.responseBody=e.response}if((!n.rxSize||0===n.rxSize)&&void 0!==this.responseBody&&0!==t.status){const e=Le(this.responseBody);void 0!==e&&(n.rxSize=e)}try{this.responseHeaders=function(e){const t={};return e?(e.split("\r\n").forEach(function(e){const r=e.indexOf(": ");if(r>0){const n=e.substring(0,r),i=e.substring(r+2);t[n.toLowerCase()]=i}}),t):t}(e.getAllResponseHeaders())}catch(e){r.emit(rt,[e])}}const i=[t,n,this.startTime,this.endTime,"xhr"];this.targets.forEach(e=>x(i,this,e))}function x(e,r,i){n("xhr",[...e,i],r,t.K7.ajax)}function O(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?Le(e.response):"text"===r||""===r||void 0===r?Le(e.responseText):void 0}(n,e.lastSize);if(void 0!==i&&0!==n.status&&(e.metrics.rxSize=i),e.sameOrigin&&n.getAllResponseHeaders().indexOf(tt)>=0){var s=n.getResponseHeader(tt);s&&((0,S.p)("sm",["Ajax/CrossApplicationTracing/Header/Seen"],void 0,t.K7.metrics,r),e.params.cat=s.split(", ").pop())}e.loadCaptureCalled=!0}r.on("new-xhr",a),r.on("open-xhr-start",o),r.on("open-xhr-end",d),r.on("send-xhr-start",l),r.on("setRequestHeader-xhr-start",u),r.on("xhr-cb-time",f),r.on("xhr-load-added",h),r.on("xhr-load-removed",p),r.on("xhr-resolved",m),r.on("addEventListener-end",v),r.on("removeEventListener-end",y),r.on("fn-end",E),r.on("fetch-before-start",w),r.on("fetch-start",R),r.on("fn-start",b),r.on("fetch-done",T)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=>r.e(478).then(r.bind(r,3845)))}}const it={},st=["pushState","replaceState"];function at(e,t){const r=function(e){return(e||R.ee).get("history")}(e);return!g.RI||it[r.debugId]++||(it[r.debugId]=1,(0,Pe.YM)(r,void 0,t).inPlace(window.history,st,"-")),r}var ot=r(3738);function ct(e){(0,N.Y)(k.BL,function(r=Date.now()){const n=r-g.WN;n<0&&(0,l.R)(62,r),(0,S.p)(q.XG,[k.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:k.BL,start:r,origin:"nr"}),(0,S.p)("api-"+k.hG,[n,k.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:dt,bD:ut,d3:lt,Kp:ft,TZ:ht,Lc:pt,uP:gt,Rz:mt}=ot;class vt extends W{static featureName=ht;constructor(e){var n;super(e,ht),n=e,(0,N.Y)(k.U2,function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const r={n:e.name,s:e.start-g.WN,e:(e.end||e.start)-g.WN,o:e.origin||"",t:"api"};r.s<0||r.e<0||r.e<r.s?(0,l.R)(61,{start:r.s,end:r.e}):(0,S.p)("bstApi",[r],void 0,t.K7.sessionTrace,n.ee)},n),ct(e);
23if(!(0,j.V)(e.init))return void this.deregisterDrain();const i=this.ee;let s;at(i,e),this.eventsEE=(0,Me.u)(i,e),this.eventsEE.on(gt,function(e,t){this.bstStart=(0,_.t)()}),this.eventsEE.on(pt,function(e,r){(0,S.p)("bst",[e[0],r,this.bstStart,(0,_.t)()],void 0,t.K7.sessionTrace,i)}),i.on(mt+lt,function(e){this.time=(0,_.t)(),this.startPath=location.pathname+location.hash}),i.on(mt+ft,function(e){(0,S.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,i)});try{s=new PerformanceObserver(e=>{const r=e.getEntries();(0,S.p)(dt,[r],void 0,t.K7.sessionTrace,i)}),s.observe({type:ut,buffered:!0})}catch(e){}this.importAggregator(e,()=>r.e(478).then(r.bind(r,6974)),{resourceObserver:s})}}var yt=r(733),bt=r(6344);class Et extends W{static featureName=bt.TZ;#i;recorder;constructor(e){var n;let i;super(e,bt.TZ),n=e,(0,N.Y)(k.CH,function(){(0,S.p)(k.CH,[],void 0,t.K7.sessionReplay,n.ee)},n),function(e){(0,N.Y)(k.Tb,function(){(0,S.p)(k.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);const s="".concat(u.Wt).concat((0,yt.Y)(e.info.licenseKey,e.info.applicationID));try{i=JSON.parse(localStorage.getItem(s))}catch(e){}(0,I.SR)(e.init)&&this.ee.on(k.CH,()=>this.#s()),this.#a(i)&&this.importRecorder().then(e=>{e.startRecording(bt.Qb.PRELOAD,i?.sessionReplayMode)}),this.abortHandler=this.#n,this.importAggregator(this.agentRef,()=>r.e(478).then(r.bind(r,6167)),this),this.ee.on("err",e=>{this.blocked||this.agentRef.runtime.isRecording&&(this.errorNoticed=!0,(0,S.p)(bt.Vh,[e],void 0,this.featureName,this.ee))})}#a(e){return e&&(e.sessionReplayMode===u.g.FULL||e.sessionReplayMode===u.g.ERROR)||(0,I.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#i??=Promise.all([r.e(478),r.e(249)]).then(r.bind(r,4866)).then(({Recorder:e})=>(this.recorder=new e(this),this.recorder)).catch(e=>{throw this.ee.emit("internal-error",[e]),this.blocked=!0,e}),this.#i)}#s(){this.blocked||(this.featAggregate?this.featAggregate.mode!==u.g.FULL&&this.featAggregate.initializeRecording(u.g.FULL,!0,bt.Qb.API):this.importRecorder().then(()=>{this.recorder.startRecording(bt.Qb.API,u.g.FULL)}))}#n(){this.recorder?.stopRecording()}}var wt=r(3962);class Rt extends W{static featureName=wt.TZ;constructor(e){if(super(e,wt.TZ),function(e){const r=e.ee.get("tracer");function n(){}(0,N.Y)(k.dT,function(e){return(new n).get("object"==typeof e?e:{})},e);const i=n.prototype={createTracer:function(n,i){var s={},a=this,o="function"==typeof i;return(0,S.p)(q.xV,["API/createTracer/called"],void 0,t.K7.metrics,e.ee),function(){if(r.emit((o?"":"no-")+"fn-start",[(0,_.t)(),a,o],s),o)try{return i.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw r.emit("fn-err",[arguments,this,t],s),t}finally{r.emit("fn-end",[(0,_.t)()],s)}}}};["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach(r=>{N.Y.apply(this,[r,function(){return(0,S.p)(k.hw+r,[performance.now(),...arguments],this,t.K7.softNav,e.ee),this},e,i])}),(0,N.Y)(k.PA,function(){(0,S.p)(k.hw+"routeName",[performance.now(),...arguments],void 0,t.K7.softNav,e.ee)},e)}(e),!g.RI||!(0,i.dV)().o.MO)return;const n=at(this.ee,e);try{this.removeOnAbort=new AbortController}catch(e){}wt.tC.forEach(e=>{(0,J.sp)(e,e=>{c(e)},!0,this.removeOnAbort?.signal)}
23);const s=()=>(0,S.p)("newURL",[(0,_.t)(),""+window.location],void 0,this.featureName,this.ee);n.on("pushState-end",s),n.on("replaceState-end",s),(0,J.sp)(wt.OV,e=>{c(e),(0,S.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)},!0,this.removeOnAbort?.signal);let a=!1;const o=new((0,i.dV)().o.MO)((e,t)=>{a||(a=!0,requestAnimationFrame(()=>{(0,S.p)("newDom",[(0,_.t)()],void 0,this.featureName,this.ee),a=!1}))}),c=(0,C.s)(e=>{"loading"!==document.readyState&&((0,S.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0}))},100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,()=>r.e(478).then(r.bind(r,4393)),{domObserver:o})}}var Tt=r(981);const At={},St=new Set;function xt(e){return"string"==typeof e?{type:"string",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:"ArrayBuffer",size:e.byteLength}:e instanceof Blob?{type:"Blob",size:e.size}:e instanceof DataView?{type:"DataView",size:e.byteLength}:ArrayBuffer.isView(e)?{type:"TypedArray",size:e.byteLength}:{type:"unknown",size:0}}class Ot{constructor(e,t){this.timestamp=(0,_.t)(),this.currentUrl=(0,Ee.L)(window.location.href),this.socketId=(0,ye.LA)(8),this.requestedUrl=(0,Ee.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(","):t||"",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason="unknown",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class _t extends W{static featureName=o.TZ;constructor(e){super(e,o.TZ);const n=e.init.feature_flags.includes("websockets")||e.init.web_sockets?.enabled,s=!e.init.feature_flags.includes("no_spv"),a=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,n,s];var c;let d;if(c=e,(0,N.Y)(k.hG,(e,t)=>ce(e,t,c),c),function(e){(0,N.Y)(k.fF,(t,r)=>ue(t,r,e),e)}(e),ct(e),Se(e),function(e){(0,N.Y)(k.V1,(t,r)=>de(t,r,e),e)}(e),this.removeOnAbort=new AbortController,this.abortHandler=()=>{this.removeOnAbort.abort(),this.abortHandler=void 0},n){const u=function(e,t){if(!(0,i.dV)().o.WS)return e;const r=e.get("websockets");if(At[r.debugId]++)return r;At[r.debugId]=1,(0,V.G)(()=>{const e=(0,_.t)();St.forEach(t=>{t.nrData.closedAt=e,t.nrData.closeCode=1001,t.nrData.closeReason="Page navigating away",t.nrData.closeWasClean=!1,t.nrData.openedAt&&(t.nrData.connectedDuration=e-t.nrData.openedAt),r.emit("ws",[t.nrData,t.targets],t)})});
23class n extends WebSocket{static name=Tt.R.WS;static toString(){return"function WebSocket() { [native code] }"}toString(){return"[object WebSocket]"}get[Symbol.toStringTag](){return n.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new Ot(e[0],e[1]),this.targets=(0,Ie.$5)(t),this.addEventListener("open",()=>{this.nrData.openedAt=(0,_.t)(),["protocol","extensions","binaryType"].forEach(e=>{this.nrData[e]=this[e]}),St.add(this)}),this.addEventListener("message",e=>{const{type:t,size:r}=xt(e.data);this.nrData.messageOrigin??=(0,Ee.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??"").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?"".concat(this.nrData.messageTypes,",").concat(t):t)}),this.addEventListener("close",e=>{this.nrData.closedAt=(0,_.t)(),this.nrData.closeCode=e.code,e.reason&&(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,St.delete(this),r.emit("ws",[this.nrData,this.targets],this)})}addEventListener(e,t,...r){const n=this,i="function"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=xt(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??"").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?"".concat(this.nrData.sendTypes,",").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return g.gm.WebSocket=n,r}(this.ee,e);u.on("ws",(e,t)=>{(0,S.p)("ws-complete",[e,t],void 0,this.featureName,this.ee)})}if(s){if("function"==typeof g.gm.ReportingObserver){const l=new g.gm.ReportingObserver(e=>{e.forEach(e=>{(0,S.p)("spv",[kt(e),(0,_.t)()],void 0,t.K7.genericEvents,this.ee)}),l.disconnect()},{types:["csp-violation"],buffered:!0});l.observe()}g.gm.addEventListener("securitypolicyviolation",e=>{(0,S.p)("spv",[kt(e),e.timeStamp],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal))}if(g.RI){if(ze(this.ee,e),De(this.ee,e),d=at(this.ee,e),e.init.user_actions.enabled){function f(t){const r=(0,Ge.D)(t);return e.beacons.includes(r.hostname+":"+r.port)}function h(){d.emit("navChange")}o.Zp.forEach(e=>(0,J.sp)(e,e=>(0,S.p)("ua",[e],void 0,this.featureName,this.ee),!0)),o.qN.forEac
23h(e=>{const t=(0,C.s)(e=>{(0,S.p)("ua",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,J.sp)(e,t)}),g.gm.addEventListener("error",()=>{(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal)),this.ee.on("open-xhr-start",(e,r)=>{f(e[1])||r.addEventListener("readystatechange",()=>{2===r.readyState&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(void 0,this.removeOnAbort.signal))}),this.ee.on("fetch-start",e=>{e.length>=1&&!f(Ze(e[0]))&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)}),d.on("pushState-end",h),d.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,J.jT)(!0,this.removeOnAbort.signal)),window.addEventListener("popstate",h,(0,J.jT)(!0,this.removeOnAbort.signal))}if(e.init.performance.resources.enabled&&g.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{(0,S.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)})}).observe({type:"resource",buffered:!0})}}a.some(e=>e)?this.importAggregator(e,()=>r.e(478).then(r.bind(r,8019))):this.deregisterDrain()}}function kt(e){const t=e.body??e;return{blockedUrl:t.blockedURL??e.blockedURI,documentUrl:t.documentURL??e.documentURI,effectiveDirective:t.effectiveDirective,originalPolicy:t.originalPolicy,sourceFile:t.sourceFile,statusCode:t.statusCode,lineNumber:t.lineNumber,columnNumber:t.columnNumber,disposition:"reporting"===t.disposition?"report":t.disposition,sample:t.sample,referrer:t.referrer}}var Nt=r(2646);const Lt=new Map;function Mt(e,t,r,n,i=!0,s){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const a=function(e){return(e||R.ee).get("logger")}(e),o=(0,Pe.YM)(a,void 0,s),c=new Nt.y(R.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[Pe.Jt]||t[r];return Lt.set(d,c),o.inPlace(t,[r],"wrap-logger-",()=>Lt.get(d),void 0,!0),a}var Pt=r(1910);class It extends W{static featureName=se.TZ;constructor(e){var t;super(e,se.TZ),t=e,(0,N.Y)("log",(e,r)=>oe(e,r,t),t),function(e){(0,N.Y)(k.Wb,(t,r,{customAttributes:n={},level:i=se.p_.INFO}={})=>{Mt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),Se(e);const n=this.ee;["log","error","warn","info","debug","trace"].forEach(t=>{(0,Pt.i)(g.gm.console[t]),Mt(n,g.gm.console,t,{level:"log"===t?"info":t},void 0,e)}),this.ee.on("wrap-logger-end",function([t],r,i,s=[e.runtime.v2Target]){const{level:a,customAttributes:o,autoCaptured:c}=this;s.forEach(e=>{(0,ae.R)(n,t,o,a,c,e)})}),this.importAggregator(e,()=>r.e(478).then(r.bind(r,5288)))}}new F({features:[nt,K,G,vt,Et,Y,Oe,_t,It,Rt],loaderType:"spa"})})()})();</script>
23
24<meta name="viewport" content="width=device-width" />
25
26
27
28<link rel="profile" href="http://gmpg.org/xfn/11" />
29
30<link rel="pingback" href="" />
31
32
33<!--[if lt IE 9]>
34
35<script src="http://s33046.pcdn.co/wp-content/themes/twentytwelve/js/html5.js" type="text/javascript"></script>
35
36
37<![endif]-->
37<script src="/wp-content/uploads/apexsql/js/apexsql.js" type="text/javascript"></script>
37
38
39<script src="http://s33046.pcdn.co/wp-content/themes/sqls/js/head.min.js" type="text/javascript"></script>
39
40
41
42
43<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
44<link rel="alternate" href="https://www.sqlshack.com/" hreflang="en" />
45<link rel="alternate" href="https://www.sqlshack.com/es/" hreflang="es" />
46
47	<!-- This site is optimized with the Yoast SEO plugin v28.6 - https://yoast.com/product/yoast-seo-wordpress/ -->
48	<title>SQL Shack - articles about database auditing, server performance, data recovery, and more</title>
49	<meta name="description" content="Share SQL knowledge, help you learn about SQL and communicate with people from SQL world." />
50	<link rel="canonical" href="https://www.sqlshack.com/" />
51	<link rel="next" href="https://www.sqlshack.com/page/2/" />
52	<meta property="og:locale" content="en_US" />
53	<meta property="og:locale:alternate" content="es_ES" />
54	<meta property="og:type" content="website" />
55	<meta property="og:title" content="SQL Shack - articles about database auditing, server performance, data recovery, and more" />
56	<meta property="og:description" content="Share SQL knowledge, help you learn about SQL and communicate with people from SQL world." />
57	<meta property="og:url" content="https://www.sqlshack.com/" />
58	<meta property="og:site_name" content="SQL Shack - articles about database auditing, server performance, data recovery, and more" />
59	<meta property="og:image" content="http://s33046.pcdn.co/wp-content/uploads/2019/03/sqlshack-default.png" />
60	<meta property="og:image:width" content="1200" />
61	<meta property="og:image:height" content="630" />
62	<meta property="og:image:type" content="image/png" />
63	<meta name="twitter:card" content="summary_large_image" />
64	
64<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":"CollectionPage","@id":"https:\/\/www.sqlshack.com\/","url":"https:\/\/www.sqlshack.com\/","name":"SQL Shack - articles about database auditing, server performance, data recovery, and more","isPartOf":{"@id":"https:\/\/www.sqlshack.com\/#website"},"about":{"@id":"https:\/\/www.sqlshack.com\/#organization"},"description":"Share SQL knowledge, help you learn about SQL and communicate with people from SQL world.","breadcrumb":{"@id":"https:\/\/www.sqlshack.com\/#breadcrumb"},"inLanguage":"en-US"},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqlshack.com\/#breadcrumb","itemListElement":[]},{"@type":"WebSite","@id":"https:\/\/www.sqlshack.com\/#website","url":"https:\/\/www.sqlshack.com\/","name":"SQL Shack - articles about database auditing, server performance, data recovery, and more","description":"","publisher":{"@id":"https:\/\/www.sqlshack.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqlshack.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.sqlshack.com\/#organization","name":"SQL Shack","url":"https:\/\/www.sqlshack.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlshack.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.sqlshack.com\/wp-content\/uploads\/2019\/03\/sqlshack-default.png","contentUrl":"https:\/\/www.sqlshack.com\/wp-content\/uploads\/2019\/03\/sqlshack-default.png","width":1200,"height":630,"caption":"SQL Shack"},"image":{"@id":"https:\/\/www.sqlshack.com\/#\/schema\/logo\/image\/"}}]}</script>
64
65	<!-- / Yoast SEO plugin. -->
66
67
68<link rel='dns-prefetch' href='//cdnjs.cloudflare.com' />
69<link rel='dns-prefetch' href='//fonts.googleapis.com' />
70<link href='https://fonts.gstatic.com' crossorigin rel='preconnect' />
71<link rel="alternate" type="application/rss+xml" title="SQL Shack - articles about database auditing, server performance, data recovery, and more &raquo; Feed" href="https://www.sqlshack.com/feed/" />
72<script data-api-url="https://www.sqlshack.com/wp-json/wordpress-popular-posts" data-debug="0" data-lang="en" data-post="0" data-sampling-rate="100" data-sampling="1" data-token="26b42a0288" id="wpp-js" src="http://s33046.pcdn.co/wp-content/plugins/wordpress-popular-posts/assets/js/wpp.min.js?ver=7.4.3"></script>
72
73	<style type="text/css">
74	.wp-pagenavi{margin-left:auto !important; margin-right:auto; !important}
75	</style>
76  <style id="wp-img-auto-sizes-contain-inline-css">
77img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
78/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
79</style>
80<link rel='stylesheet' id='crayon-theme-ssms2012-css' href='http://s33046.pcdn.co/wp-content/plugins/urvanov-syntax-highlighter/themes/ssms2012/ssms2012.css?ver=2.9.1' media='all' />
81<link rel='stylesheet' id='crayon-font-courier-new-css' href='http://s33046.pcdn.co/wp-content/plugins/urvanov-syntax-highlighter/fonts/courier-new.css?ver=2.9.1' media='all' />
82<style id="wp-emoji-styles-inline-css">
83
84	img.wp-smiley, img.emoji {
85		display: inline !important;
86		border: none !important;
87		box-shadow: none !important;
88		height: 1em !important;
89		width: 1em !important;
90		margin: 0 0.07em !important;
91		vertical-align: -0.1em !important;
92		background: none !important;
93		padding: 0 !important;
94	}
95/*# sourceURL=wp-emoji-styles-inline-css */
96</style>
97<style id="wp-block-library-inline-css">
98:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
98--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
99/*wp_block_styles_on_demand_placeholder:6abe22fe6c6d8*/
100/*# sourceURL=wp-block-library-inline-css */
101</style>
102<style id="classic-theme-styles-inline-css">
103/*! This file is auto-generated */
104.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
105/*# sourceURL=/wp-includes/css/classic-themes.min.css */
106</style>
107<style id="wp-block-styles-placeholder-inline-css">
108:root { --wp-internal-comment: "Placeholder for wp_hoist_late_printed_styles() to replace with the block styles printed at wp_footer." }
109/*# sourceURL=wp-block-styles-placeholder-inline-css */
110</style>
111<style id="wp-global-styles-placeholder-inline-css">
112:root { --wp-internal-comment: "Placeholder for wp_hoist_late_printed_styles() to replace with the global-styles printed at wp_footer." }
113/*# sourceURL=wp-global-styles-placeholder-inline-css */
114</style>
115<link rel='stylesheet' id='fancybox-for-wp-css' href='http://s33046.pcdn.co/wp-content/plugins/fancybox-for-wordpress/assets/css/fancybox.min.css?ver=3.4.2' media='all' />
116<link rel='stylesheet' id='wordpress-popular-posts-css-css' href='http://s33046.pcdn.co/wp-content/plugins/wordpress-popular-posts/assets/css/wpp.css?ver=7.4.3' media='all' />
117<link rel='stylesheet' id='font-awesome-css' href='//cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css?ver=7.1.2' media='all' />
118<link rel='stylesheet' id='font-awesome-shims-css' href='//cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/v4-shims.min.css?ver=7.1.2' media='all' />
119<link rel='stylesheet' id='twentytwelve-fonts-css' href='https://fonts.googleapis.com/css?family=Open+Sans%3A400italic%2C700italic%2C400%2C700&#038;subset=latin%2Clatin-ext&#038;display=fallback' media='all' />
120<link rel='stylesheet' id='twentytwelve-style-css' href='http://s33046.pcdn.co/wp-content/themes/sqls/style.css?ver=20190507' media='all' />
121<link rel='stylesheet' id='twentytwelve-block-style-css' href='http://s33046.pcdn.co/wp-content/themes/twentytwelve/css/blocks.css?ver=20190406' media='all' />
122<link rel='stylesheet' id='addthis_all_pages-css' href='http://s33046.pcdn.co/wp-content/plugins/addthis/frontend/build/addthis_wordpress_public.min.css?ver=7.1.2' media='all' />
123<link rel='stylesheet' id='wp-pagenavi-style-css' href='http://s33046.pcdn.co/wp-content/plugins/wp-pagenavi-style/css/default.css?ver=1.0' media='all' />
124<script id="jquery-core-js" src="http://s33046.pcdn.co/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 124
124
125<script id="jquery-migrate-js" src="http://s33046.pcdn.co/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
vendor: 1 bytes, line 125
125
126<script id="fbfw-purify-js" src="http://s33046.pcdn.co/wp-content/plugins/fancybox-for-wordpress/assets/js/purify.min.js?ver=3.4.2"></script>
vendor: 1 bytes, line 126
126
127<script id="fancybox-for-wp-js" src="http://s33046.pcdn.co/wp-content/plugins/fancybox-for-wordpress/assets/js/jquery.fancybox.min.js?ver=3.4.2"></script>
127
128<link rel="https://api.w.org/" href="https://www.sqlshack.com/wp-json/" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.sqlshack.com/xmlrpc.php?rsd" />
129<meta name="generator" content="WordPress 7.1.2" />
130<!-- Fancybox for WordPress v3.4.2 -->
131<style type="text/css">
132	.fancybox-slide--image .fancybox-content{background-color:#FFFFFF}
133	div.fancybox-caption{display:none !important;}
134	img.fancybox-image{border-width:10px;border-color:#FFFFFF;border-style:solid;}
135	div.fancybox-bg{background-color:rgba(102,102,102,0.7);opacity:1 !important;}
136	div.fancybox-content{border-color:#FFFFFF}
137	div#fancybox-title{background-color:#FFFFFF}
138	div#fancybox-title-inside{color:#333333}
139	div.fancybox-content{background-color:#FFFFFF}
140	div.fancybox-caption p.caption-title{display:inline-block}
141	div.fancybox-caption p.caption-title,div.fancybox-content p.caption-title{font-size:14px}
142	div.fancybox-caption p.caption-title{color:#333333}
143	div.fancybox-caption{color:#333333}
144	div.fancybox-caption p.caption-title{background:#fff;width:auto;padding:10px 30px;}div.fancybox-content p.caption-title{color:#333333;margin:0;padding:5px 0;}
145	body.fancybox-active .fancybox-container .fancybox-stage .fancybox-content .fancybox-close-small{display:block;}
146</style>
147<script type="text/javascript">
148	(function () {
149		if (typeof window.jQuery === 'undefined') { return; }
150		jQuery(function () {
151			var fbfwIsSingular = false;
152
153			// Copy the title of every IMG tag onto its parent A so FancyBox can show it.
154			jQuery.fn.getTitle = function () {
155				jQuery("a[data-fancybox]").each(function () {
156	var $link = jQuery(this);
157	if ($link.attr("data-fbfw-title") !== undefined) { return; }
158	var title = $link.children("img").attr("title") || '';
159	var figCaptionHtml = $link.next("figcaption").html() || '';
160	var processedCaption = figCaptionHtml;
161	if (figCaptionHtml.length && typeof DOMPurify === 'function') {
162		processedCaption = DOMPurify.sanitize(figCaptionHtml, {USE_PROFILES: {html: true}});
163	} else if (figCaptionHtml.length) {
164		processedCaption = jQuery("<div>").text(figCaptionHtml).html();
165	}
166	var newTitle = title;
167	if (processedCaption.length) {
168		newTitle = title.length ? title + " " + processedCaption : processedCaption;
169	}
170	if (newTitle.length) { $link.attr("data-fbfw-title", newTitle); }
171});
172				return this;
173			};
174
175			var fbfwOptions = {"loop":false,"smallBtn":true,"zoomOpacity":"auto","animationEffect":"fade","animationDuration":500,"transitionEffect":"fade","transitionDuration":300,"overlayShow":true,"overlayOpacity":0.7,"titleShow":true,"titlePosition":"inside","keyboard":true,"showCloseButton":true,"arrows":true,"clickContent":false,"clickSlide":"close","wheel":false,"toolbar":true,"preventCaptionOverlap":true};
176		fbfwOptions.mobile = { clickContent: function (current) { return current.type === "image" ? "toggleControls" : false; }, clickSlide: function (current) { return current.type === "image" ? "close" : "close"; } };
177		fbfwOptions.onInit = function () {};
178		fbfwOptions.onDeactivate = function () {};
179		fbfwOptions.beforeClose = function () {};
180		fbfwOptions.afterShow = function () {};
181		fbfwOptions.afterClose = function () {};
182		fbfwOptions.caption = function (instance, item) {
183	var $link = jQuery(this);
184	// data-fbfw-title is what getTitle() collects; a hand-written title attribute
185	// still works as a fallback for anyone relying on the old behaviour.
186	var title = $link.attr("data-fbfw-title");
187	if (title === undefined) { title = $link.attr("title"); }
188	if (title === undefined && $link.context) { title = $link.context.title; }
189	title = title || '';
190	var caption = $link.data('caption') || '';
191	if (item.type === 'image' && title.length) {
192		caption = (caption.length ? caption + '<br />' : '') + '<p class="caption-title">' + jQuery("<div>").text(title).html() + '</p>';
193	}
194	if (typeof DOMPurify === "function" && caption.length) {
195		return DOMPurify.sanitize(caption, {USE_PROFILES: {html: true}});
196	}
197	return jQuery("<div>").text(caption).html();
198};
199		fbfwOptions.afterLoad = function (instance, current) {
200	var captionContent = current.opts.caption || '';
201	var sanitized = '';
202	if (typeof DOMPurify === 'function' && captionContent.length) {
203		sanitized = DOMPurify.sanitize(captionContent, {USE_PROFILES: {html: true}});
204	} else if (captionContent.length) {
205		sanitized = jQuery("<div>").text(captionContent).html();
206	}
207	if (sanitized.length) {
208		current.$content.append(jQuery('<div class="fancybox-custom-caption inside-caption" style="position:absolute;left:0;right:0;color:#000;margin:0 auto;bottom:0;text-align:center;background-color:#FFFFFF;"></div>').html(sanitized));
209	}
210};
211			// A dialog needs an accessible name; FancyBox 3 ships role="dialog" with
212			// none, which fails WCAG 4.1.2 for screen reader users. See issue #104.
213			jQuery(document).on('onInit.fb', function (e, instance) {
214				if (instance && instance.$refs && instance.$refs.container) {
215					instance.$refs.container.attr({
216						'aria-modal': 'true',
217						'aria-label': "Image lightbox"					});
218				}
219			});
220
221			function fbfwBind() {
222				var thumbnails = jQuery("a:has(img)").not(".nolightbox").not(".envira-gallery-link").not(".ngg-simplelightbox").filter(function () { return /\.(jpe?g|png|gif|mp4|webp|bmp)(\?[^/]*)*$/i.test(jQuery(this).attr("href")); });
223
224				// Anything that is not an image, video or PDF opens in an iframe.
225				var iframeLinks = jQuery('.fancyboxforwp').filter(function () {
226					return !/\.(jpe?g|png|gif|mp4|webp|bmp|pdf)(\?[^/]*)*$/i.test(jQuery(this).attr('href'));
227				}).filter(function () {
228					return !/vimeo|youtube/i.test(jQuery(this).attr('href'));
229				});
230				iframeLinks.attr({"data-type": "iframe"}).getTitle();
231
232	thumbnails.addClass("fancyboxforwp").attr("data-fancybox", "gallery").getTitle();
233	iframeLinks.attr({"data-fancybox": "gallery"}).getTitle();
234				// Re-applied rather than delegated: FancyBox's global [data-fancybox]
235				// handler would open new links with default options, ignoring every
236				// setting on this page.
237				jQuery("a.fancyboxforwp").fancyboxforwp(fbfwOptions);
238			}
239
240			fbfwBind();
241
242			/*
243			 * Infinite scroll, lazy loading and AJAX filters insert thumbnails after
244			 * this script has run, and those links were never bound. Re-scan when the
245			 * document gains nodes, skipping FancyBox's own DOM so opening the lightbox
246			 * cannot retrigger us. See issues #25 and #69.
247			 */
248			if (window.MutationObserver && document.body) {
249				var fbfwPending = null;
250				new MutationObserver(function (mutations) {
251					for (var i = 0; i < mutations.length; i++) {
252						var added = mutations[i].addedNodes;
253						for (var j = 0; j < added.length; j++) {
254							var n = added[j];
255							if (n.nodeType !== 1) { continue; }
256							if (n.closest && n.closest('.fancybox-container')) { continue; }
257							var isLink = n.tagName === 'A' && n.querySelector && n.querySelector('img');
258							var hasLink = n.querySelector && n.querySelector('a img');
259							if (isLink || hasLink) {
260								clearTimeout(fbfwPending);
261								fbfwPending = setTimeout(fbfwBind, 200);
262								return;
263							}
264						}
265					}
266				}).observe(document.body, {childList: true, subtree: true});
267			}
268		});
269	})();
270</script>
270
271<!-- END Fancybox for WordPress -->
272		<style type="text/css">
273	 .wp-pagenavi
274	{
275		font-size:12px !important;
276	}
277	</style>
278	            <style id="wpp-loading-animation-styles">@-webkit-keyframes bgslide{from{background-position-x:0}to{background-position-x:-200%}}@keyframes bgslide{from{background-position-x:0}to{background-position-x:-200%}}.wpp-widget-block-placeholder,.wpp-shortcode-placeholder{margin:0 auto;width:60px;height:3px;background:#dd3737;background:linear-gradient(90deg,#dd3737 0%,#571313 10%,#dd3737 100%);background-size:200% auto;border-radius:3px;-webkit-animation:bgslide 1s infinite linear;animation:bgslide 1s infinite linear}</style>
279            
279<script data-cfasync="false" type="text/javascript">if (window.addthis_product === undefined) { window.addthis_product = "wpp"; } if (window.wp_product_version === undefined) { window.wp_product_version = "wpp-6.2.7"; } if (window.addthis_share === undefined) { window.addthis_share = {"passthrough":{"twitter":{"via":"SQLShack"}},"url_transforms":{"shorten":{"twitter":"bitly"}},"shorteners":{"bitly":{}}}; } if (window.addthis_config === undefined) { window.addthis_config = {"data_track_clickback":true,"data_ga_property":"UA-48433511-1","data_ga_social":true,"ui_atversion":300,"ui_508_compliant":true}; } if (window.addthis_plugin_info === undefined) { window.addthis_plugin_info = {"info_status":"enabled","cms_name":"WordPress","plugin_name":"Share Buttons by AddThis","plugin_version":"6.2.7","plugin_mode":"AddThis","anonymous_profile_id":"wp-c0ad93f1f4460a20fdbfc6120b3c5723","page_info":{"template":"home","post_type":""},"sharing_enabled_on_post_via_metabox":false}; } 
280                    (function() {
281                      var first_load_interval_id = setInterval(function () {
282                        if (typeof window.addthis !== 'undefined') {
283                          window.clearInterval(first_load_interval_id);
284                          if (typeof window.addthis_layers !== 'undefined' && Object.getOwnPropertyNames(window.addthis_layers).length > 0) {
285                            window.addthis.layers(window.addthis_layers);
286                          }
287                          if (Array.isArray(window.addthis_layers_tools)) {
288                            for (i = 0; i < window.addthis_layers_tools.length; i++) {
289                              window.addthis.layers(window.addthis_layers_tools[i]);
290                            }
291                          }
292                        }
293                     },1000)
294                    }());
295                </script>
295 
295<script data-cfasync="false" type="text/javascript" src="https://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-57d1122d476e0f92" async="async"></script>
295
296<!-- Google Tag Manager -->
297<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
298new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
299j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
300'https://www.googletagmanager.com/gtm.js?id='+i+dl+ '&gtm_auth=Ufg-wMK6NCLoTX-Xos6AOw&gtm_preview=env-1&gtm_cookies_win=x';f.parentNode.insertBefore(j,f);
301})(window,document,'script','dataLayer','GTM-NHDTJ8V');</script>
301
302<!-- End Google Tag Manager -->
303
304</head>
305
306<style>
307
308.entry-header .entry-title {
309    font-size: 2em;
310}
311
312.entry-content h2 {
313	font-size: 27px; 
314	color: #337ab7; 
315	font-weight:normal;
316}
317.entry-content h3 {
318	font-size: 22px; 
319	color: black; 
320	font-weight:normal;
321}
322.entry-content h4 {
323	font-size: 18px; 
324	color: #1f4d78;
325	font-weight:normal;
326}
327    #cookiesWarning {
328      /*min-height: 170px;*/
329      position: fixed;
330      left: 0px;
331      right: 0px;
332      bottom: 0px;
333      background-color: #fff;
334      z-index: 99999999999;
335      box-sizing: border-box;
336      display: block; 
337      font-family: "Segoe UI", Tahoma, arial, sans-serif;
338      font-size: 12px;
339      line-height: 1.42857;
340      color: rgb(51, 51, 51);
341      -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
342      text-size-adjust: 100%;
343    }
344    
345    #cookiesWarningActive {     
346      margin-top: auto;
347      margin-bottom: auto;
348      border-top: solid 1px #f0f0f0;
349    }
350    
351    @media (min-width: 992px) and (max-width: 1165px)
352    {
353      #cookiesWarning {
354        /*min-height: 190px;*/
355      }
356      #text p {
357        margin-bottom: 12px;
358      }
359      #cookiesOK {
360        margin: 24px;
361      }
362      .cookieBtn {
363        margin-left: 200px !important;
364      }
365      .emptySpace1, .emptySpace2{
366        display: none;
367      }
368      .cookieTxt {
369        margin: 0px auto;
370        float: left;
371      }
372                  .contCookie {
373                width: 100%;
374            }
375      
376    }
377    
378    @media (max-width: 991px)
379    {
380      #cookiesWarning {
381        /*min-height: 250px;*/
382      }
383      #text p {
384        margin: 12px;
385      }
386      #cookiesOK {
387        margin: 12px;
388      }
389      .cookieBtn {
390        margin-top: 0px !important;
391        margin-left: 0px !important;
392        margin-right: 50px !important;
393      }
394      .emptySpace1, .emptySpace2{
395        display: none;
396      }
397            .cookieTxt {
398                float: left;
399                 width: 450px !important;
400            }
401            .contCookie {
402                width: 600px !important;
403            }
404    }
405    
406    @media (max-width: 460px){
407            #cookiesWarning {
408        /*min-height: 300px;*/
409      }
410            #cookiesOK{
411                margin-top: 10px;
412            }
413            .cookieTxt {
414                float: left;
415                width: 275px !important;
416            }
417            .contCookie {
418                width: 350px !important;
419            }
420            #text p {
421                margin: 12px;
422            }
423            .cookieBtn {
424                margin-top: -290px !important;
425            }
426        }
427    
428    .emptySpace1 {
429      /*float: left;*/
430      width: 20%;
431      padding: 5px;
432    }
433    
434    .cookieTxt {
435      
436      width: 600px;
437      /*padding: 10px;*/
438      font-family: "Segoe UI", Tahoma, arial, sans-serif;
439      font-size: 14px;
440      margin-top: 4px;
441    }
442
443    .cookieBtn {
444      /*text-align: center;*/
445      float: right;
446      width: 70px;
447      padding: 10px;
448      margin-top: -130px;
449      /*margin-left: 120px;*/
450    }
451
452    .contCookie {
453        width: 760px;
454        margin: 0 auto;
455    }
456    
457    .emptySpace2 {
458      float: left;
459      width: 25%;
460      padding: 5px;
461    }
462    
463    #cookiesOK {
464      height: 36px;
465      width: 70px;
466      border-radius: 4px;
467      font-size: 14px;
468      background-color: #888;
469      color: #fff;
470      background-image: none;
471      border: 1px solid transparent;
472    }
473    
474    #cookiesOK:hover {
475      background-color: #555555;
476      color: white;
477    }
478</style>
479
480
481<body class="home blog wp-embed-responsive wp-theme-twentytwelve wp-child-theme-sqls custom-font-enabled">
482<!-- Google Tag Manager (noscript) -->
483<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NHDTJ8V&gtm_auth=Ufg-wMK6NCLoTX-Xos6AOw&gtm_preview=env-1&gtm_cookies_win=x"
484height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
485<!-- End Google Tag Manager (noscript) -->
486<div id="cookiesWarning"></div>
487
488<div id="page" class="hfeed site">
489
490  <header id="masthead" class="site-header" role="banner" style="width: 100%; padding-bottom: 0px; padding-top:2px;">
491
492    <hgroup style="width: 100%;">
493
494    <div class="header_customwraper" style="width: 100%;">
495
496      <h1 class="site-title" style="width: 18.35%; float: left;"><a href="https://www.sqlshack.com/" rel="home">SQLShack</a></h1>
497
498      <!-- site-navigation -->
499
500      <nav id="site-navigation" class="main-navigation" role="navigation" style="width: 10%;  padding-left: 41%;  margin-top: 0px;
500 padding-top: 2.35714286rem; display: inline-block;float: left;">
501
502      <!-- <h3 class="menu-toggle">Menu</h3> -->
503
504      <a class="assistive-text" href="#content" title="Skip to content">Skip to content</a>
505
506      
507    </nav><!-- #site-navigation -->
508
509    </div>
510
511      <h2 class="site-description"></h2>
512
513      
514
515    </hgroup>
516
517    <div class="header-search">
518
519        <form role="search" method="get" id="searchform" action="https://www.sqlshack.com/">
520
521  <div class="social-icons-search">
522    <li class="lang-item lang-item-52 lang-item-es no-translation" style="margin-right: 5px;"><a href="/sql-server-training/">SQL Server training</a></li>
523    	<li class="lang-item lang-item-52 lang-item-es lang-item-first"><a lang="es-ES" hreflang="es-ES" href="https://www.sqlshack.com/es/">Español</a></li>
524    <a href="/about-us" style="text-decoration:none; color:black;">
525      <i class="fa fa-question-circle fa-3x" title="About" style="color: darkcyan;"></i>
526    </a>
527    <div style="display: inline-block; padding-right: 1em; vertical-align: top !important;">
528      <p id="change-button">
529        <input type="button" id="mysearchsubmit" value=""/>
530      </p>
531    </div>
532  </div>
533</form>
534
535<script type="text/javascript">
536
537  jQuery( document ).ready(function() {
538
539    var show_box = true;
540    
541    // Handle click on search hide/show button
542    jQuery('#mysearchsubmit').click(function() {
543      if(show_box){
544        jQuery('.search-input').css('display', 'flex');
545        jQuery('#s').focus();
546
547        show_box = false;
548      }
549
550      else{
551        jQuery('.search-input').hide();
552        show_box = true;
553      }
554    });
555    
556    // Handle click on search button
557    jQuery('#mysubmitbutton').click(function() {
558
559      jQuery('.search-input').hide();
560      show_box = true;
561
562      window.location.href="https://www.sqlshack.com/?s=" + jQuery("#s").val();
563    });
564
565    // Enable that we can activate search by hitting enter button
566    jQuery(document).on('keypress',function(e) {
567      // helper variable
568      var dummyEl = document.getElementById('s');
569      // check for focus of active element
570      var isFocused = (document.activeElement === dummyEl);
571      
572      if(e.which == 13 && isFocused) {
573        jQuery('#mysubmitbutton').click();
574      }
575    }); 
576
577    // Check for click outside of search elements for hiding search
578    jQuery(document).click(function(e) { 
579      if (e.target.id !== "mysubmitbutton" && e.target.id !== "mysearchsubmit" && e.target.id !== "s" && show_box == false) {
580        jQuery('.search-input').hide();
581        show_box = true;
582      }
583    });
584});
585</script>
585<!--<ul style="padding-top:10px;">
586<li><a href="/about-us" style="color: black; font-size: 1.3em;">Write for us!</a></li>
587<li style="margin-top:10px; margin-left:15px;"><i class="fa fa-phone fa-lg" title="+1 (866) 665-5500"></i> &nbsp; <a href="mailto:[email protected]" style="text-decoration:none; color:black;"><i class="fa fa-envelope fa-lg"></i></a> &nbsp; <a href="/about-us" style="text-decoration:none; color:black;"><i class="fa fa-leanpub fa-lg"></i></a>
588</ul>-->
589    </div>
590
591
592
593    
594
595
596
597      </header><!-- #masthead -->
598
599  <div class="search-input">
600    <input type="text" value="" name="s" id="s" />
601    <input type="button" id="mysubmitbutton" value="" style="display: block;" />
602  </div>
603
604
605
606  <div id="main" class="wrapper">
607	<div id="primary" class="site-content">
608		<div id="content" role="main">
609		
610							
611
612
613	<article id="post-81527" class="post-81527 post type-post status-publish format-standard has-post-thumbnail hentry category-development category-postgresql">
614		<div class="avatar">
615						<span class="avatar-big-picture"> 
616					<img src="http://s33046.pcdn.co/wp-content/uploads/2022/02/rajendra_gupta.png" alt="Rajendra Gupta"> 
617				</span>
618					
619				</div>
620		<div class="home-post">
621
622		
623		<header class="entry-header">
624
625			<img width="624" height="417" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2023/05/work-with-the-email-addresses-using-the-substring-624x417.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Work with the email addresses using the SUBSTRING function" decoding="async" fetchpriority="high" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/work-with-the-email-addresses-using-the-substring-624x417.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/05/work-with-the-email-addresses-using-the-substring-300x200.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/05/work-with-the-email-addresses-using-the-substring.png 722w" sizes="(max-width: 624px) 100vw, 624px" /><noscript><img width="624" height="417" src="http://s33046.pcdn.co/wp-content/uploads/2023/05/work-with-the-email-addresses-using-the-substring-624x417.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Work with the email addresses using the SUBSTRING function" decoding="async" fetchpriority="high" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/work-with-the-email-addresses-using-the-substring-624x417.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/05/work-with-the-email-addresses-using-the-substring-300x200.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/05/work-with-the-email-addresses-using-the-substring.png 722w" sizes="(max-width: 624px) 100vw, 624px" /></noscript>
626						
627			<h1 class="entry-title entry-title-home">
628
629				<a href="https://www.sqlshack.com/understanding-postgresql-substring-function/" rel="bookmark">Understanding PostgreSQL SUBSTRING function</a>
630
631			</h1>
632			<div class="clearfix"></div>
633
634						September 21, 2024			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/rajendra-gupta/" rel="author">Rajendra Gupta</a></span></span>
635			
636			
637
638		</header><!-- .entry-header -->
639
640
641
642		
643		<div class="entry-content">
644
645									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/understanding-postgresql-substring-function/"></div><p>
646  PostgreSQL is an open-source, object-oriented relational database system with reliability, performance, and robustness. It supports SQL (relational) and JSON (non-relational) queries.PostgreSQL&#8217;s popular features include Multi-Version Concurrency Control (MVCC), point-in-time recovery, granular access controls, tablespaces, and asynchronous replication. 
647</p> <a href="https://www.sqlshack.com/understanding-postgresql-substring-function/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/understanding-postgresql-substring-function/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
648		</div><!-- .entry-content -->
649
650		
651
652
653		<footer class="entry-meta">
654
655			<a href="https://www.sqlshack.com/category/sql-database-development/development/" rel="category tag">Development</a>, <a href="https://www.sqlshack.com/category/technologies/postgresql/" rel="category tag">PostgreSQL</a>
656			
657			
658		</footer><!-- .entry-meta -->
659		
660		</div><!-- .home-post -->
661
662	</article><!-- #post -->							
663
664
665	<article id="post-81509" class="post-81509 post type-post status-publish format-standard has-post-thumbnail hentry category-postgresql category-python">
666		<div class="avatar">
667						<span class="avatar-big-picture"> 
668					<img src="http://s33046.pcdn.co/wp-content/uploads/2019/03/haroonashraf-1.jpg" alt="Haroon Ashraf"> 
669				</span>
670					
671				</div>
672		<div class="home-post">
673
674		
675		<header class="entry-header">
676
677			<img width="617" height="398" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2023/05/connected-to-postgres-database-in-sql-shell.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="connected to postgres database in SQL Shell" decoding="async" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/connected-to-postgres-database-in-sql-shell.png 617w, http://s33046.pcdn.co/wp-content/uploads/2023/05/connected-to-postgres-database-in-sql-shell-300x194.png 300w" sizes="(max-width: 617px) 100v
677w, 617px" /><noscript><img width="617" height="398" src="http://s33046.pcdn.co/wp-content/uploads/2023/05/connected-to-postgres-database-in-sql-shell.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="connected to postgres database in SQL Shell" decoding="async" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/connected-to-postgres-database-in-sql-shell.png 617w, http://s33046.pcdn.co/wp-content/uploads/2023/05/connected-to-postgres-database-in-sql-shell-300x194.png 300w" sizes="(max-width: 617px) 100vw, 617px" /></noscript>
678						
679			<h1 class="entry-title entry-title-home">
680
681				<a href="https://www.sqlshack.com/how-to-create-and-query-the-python-postgresql-database/" rel="bookmark">How to create and query the Python PostgreSQL database</a>
682
683			</h1>
684			<div class="clearfix"></div>
685
686						August 15, 2024			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/haroon/" rel="author">Haroon Ashraf</a></span></span>
687			
688			
689
690		</header><!-- .entry-header -->
691
692
693
694		
695		<div class="entry-content">
696
697									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/how-to-create-and-query-the-python-postgresql-database/"></div><p>
698  This article is all about creating and querying Python PostgreSQL database in a simple and easy way. 
699</p> <a href="https://www.sqlshack.com/how-to-create-and-query-the-python-postgresql-database/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/how-to-create-and-query-the-python-postgresql-database/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
700		</div><!-- .entry-content -->
701
702		
703
704
705		<footer class="entry-meta">
706
707			<a href="https://www.sqlshack.com/category/technologies/postgresql/" rel="category tag">PostgreSQL</a>, <a href="https://www.sqlshack.com/category/languages-and-coding/python/" rel="category tag">Python</a>
708			
709			
710		</footer><!-- .entry-meta -->
711		
712		</div><!-- .home-post -->
713
714	</article><!-- #post -->							
715
716
717	<article id="post-81500" class="post-81500 post type-post status-publish format-standard has-post-thumbnail hentry category-development category-sql-database-design">
718		<div class="avatar">
719						<span class="avatar-big-picture"> 
720					<img src="http://s33046.pcdn.co/wp-content/uploads/2019/12/nisarg.jpg" alt="Nisarg Upadhyay"> 
721				</span>
722					
723				</div>
724		<div class="home-post">
725
726		
727		<header class="entry-header">
728
729			<img width="624" height="590" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2023/05/graphical-user-interface-application-description-624x590.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Graphical user interface, application Description automatically generated" decoding="async" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/graphical-user-interface-application-description-624x590.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/05/graphical-user-interface-application-description-300x284.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/05/graphical-user-interface-application-description.png 698w" sizes="(max-width: 624px) 100vw, 624px" /><noscript><img width="624" height="590" src="http://s33046.pcdn.co/wp-content/uploads/2023/05/graphical-user-interface-application-description-624x590.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Graphical user interface, application Description automatically generated" decoding="async" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/graphical-user-interface-application-description-624x590.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/05/graphical-user-interface-application-description-300x284.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/05/graphical-user-interface-application-description.png 698w" sizes="(max-width: 624px) 100vw, 624px" /></noscript>
730						
731			<h1 class="entry-title entry-title-home">
732
733				<a href="https://www.sqlshack.com/different-ways-to-identify-and-change-compatibility-levels-in-sql-server/" rel="bookmark">Different ways to identify and change compatibility levels in SQL Server</a>
734
735			</h1>
736			<div class="clearfix"></div>
737
738						July 22, 2024			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/nisarg/" rel="author">Nisarg Upadhyay</a></span></span>
739			
740			
741
742		</header><!-- .entry-header -->
743
744
745
746		
747		<div class="entry-content">
748
749									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/different-ways-to-identify-and-change-compatibility-levels-in-sql-server/"></div><p>
750  Compatibility level in SQL Server refers to a database property that determines the syntax and behavior of the database, allowing it to be compatible with earlier versions of SQL Server. Each version of SQL Server introduces new features, improvements, and changes to the query optimizer, which may affect how queries are executed and how results are returned.
751</p> <a href="https://www.sqlshack.com/different-ways-to-identify-and-change-compatibility-levels-in-sql-server/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/different-ways-to-identify-and-change-compatibility-levels-in-sql-server/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
752		</div><!-- .entry-content -->
753
754		
755
756
757		<footer class="entry-meta">
758
759			<a href="https://www.sqlshack.com/category/sql-database-development/development/" rel="category tag">Development</a>, <a href="https://www.sqlshack.com/category/database-design/sql-database-design/" rel="category tag">General database design</a>
760			
761			
762		</footer><!-- .entry-meta -->
763		
764		</div><!-- .home-post -->
765
766	</article><!-- #post -->							
767
768
769	<article id="post-81484" class="post-81484 post type-post status-publish format-standard has-post-thumbnail hentry category-oracle">
770		<div class="avatar">
771						<span class="avatar-big-picture"> 
772					<img src="http://s33046.pcdn.co/wp-content/uploads/2019/05/gaurimahajan.jpg" alt="Gauri Mahajan"> 
773				</span>
774					
775				</div>
776		<div class="home-post">
777
778		
779		<header class="entry-header">
780
781			<img width="624" height="278" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2023/05/dbeaver-624x278.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="DBeaver" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/dbeaver-624x278.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/05/dbeaver-300x134.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/05/dbeaver-768x342.png 768w, http://s33046.pcdn.co/wp-content/uploads/2023/05/dbeaver.png 975w" sizes="auto, (max-width: 624px) 100vw, 624px" /><noscript><img width="624" height="278" src="http://s33046.pcdn.co/wp-content/uploads/2023/05/dbeaver-624x278.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="DBeaver" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/dbeaver-624x278.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/05/dbeaver-300x134.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/05/dbeaver-768x342.png 768w, http://s33046.pcdn.co/wp-content/uploads/2023/05/dbeaver.png 975w" sizes="auto, (max-width: 624px) 100vw, 624px" /></noscript>
782						
783			<h1 class="entry-title entry-title-home">
784
785				<a href="https://www.sqlshack.com/oracle-substring-function-overview-with-examples/" rel="bookmark">Oracle Substring function overview with examples</a>
786
787			</h1>
788			<div class="clearfix"></div>
789
790						June 19, 2024			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/gauri-mahajan/" rel="author">Gauri Mahajan</a></span></span>
791			
792			
793
794		</header><!-- .entry-header -->
795
796
797
798		
799		<div class="entry-content">
800
801									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/oracle-substring-function-overview-with-examples/"></div><p>
802  In this article, we will learn how to set up an Oracle instance, create sample data and understand the use of the substring function.
803</p> <a href="https://www.sqlshack.com/oracle-substring-function-overview-with-examples/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/oracle-substring-function-overview-with-examples/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
804		</div><!-- .entry-content -->
805
806		
807
808
809		<footer class="entry-meta">
810
811			<a href="https://www.sqlshack.com/category/technologies/oracle/" rel="category tag">Oracle</a>
812			
813			
814		</footer><!-- .entry-meta -->
815		
816		</div><!-- .home-post -->
817
818	</article><!-- #post -->							
819
820
821	<article id="post-81471" class="post-81471 post type-post status-publish format-standard has-post-thumbnail hentry category-azure-cosmos-db">
822		<div class="avatar">
823						<span class="avatar-big-picture"> 
824					<img src="http://s33046.pcdn.co/wp-content/uploads/2021/08/ManvendraSingh80x80_Shack.jpg" alt="Manvendra Singh"> 
825				</span>
826					
827				</div>
828		<div class="home-post">
829
830		
831		<header class="entry-header">
832
833			<img width="624" height="378" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2023/05/backup-storage-redundancy-updated-for-cosmos-db-ac-1-624x378.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Backup storage redundancy updated for cosmos db account" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/backup-storage-redundancy-updated-for-cosmos-db-ac-1-624x378.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/05/backup-storage-redundancy-updated-for-cosmos-db-ac-1-300x182.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/05/backup-storage-redundancy-updated-for-cosmos-db-ac-1-768x466.png 768w, http://s33046.pcdn.co/wp-content/uploads/2023/05/backup-storage-redundancy-updated-for-cosmos-db-ac-1.png 915w" sizes="auto, (max-width: 624px) 100vw, 624px" /><noscript><img width="624" height="378" src="http://s33046.pcdn.co/wp-content/uploads/2023/05/backup-storage-redundancy-updated-for-cosmos-db-ac-1-624x378.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Backup storage redundancy updated for cosmos db account" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/backup-storage-redundancy-updated-for-cosmos-db-ac-1-624x378.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/05/backup-storage-redundancy-updated-for-cosmos-db-ac-1-300x182.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/05/backup-storage-redundancy-updated-for-cosmos-db-ac-1-768x466.png 768w, http://s33046.pcdn.co/wp-content/uploads/2023/05/backup-storage-redundancy-updated-for-cosmos-db-ac-1.png 915w" sizes="auto, (max-width: 624px) 100vw, 624px" /></noscript>
834						
835			<h1 class="entry-title entry-title-home">
836
837				<a href="https://www.sqlshack.com/configure-backup-storage-redundancy-for-azure-cosmos-db-account/" rel="bookmark">Configure backup storage redundancy for Azure Cosmos DB account</a>
838
839			</h1>
840			<div class="clearfix"></div>
841
842						May 15, 2024			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/manvendra-singh/" rel="author">Manvendra Singh</a></span></span>
843			
844			
845
846		</header><!-- .entry-header -->
847
848
849
850		
851		<div class="entry-content">
852
853									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/configure-backup-storage-redundancy-for-azure-cosmos-db-account/"></div><p>
854  This article will explain backup storage redundancy for Azure Cosmos DB. Backups are a critical feature to keep copies of our data to ensure data protection and recoverability in case of any accidental deletion, updating, or any kind of disaster. But this is not enough to run backups only to save its copies. We must also protect those backup copies from accidental deletes or corruption and ensure their proper resiliency should be in place to keep backups safe from any unforeseen circumstances. It depends on the criticality of your data whether you want to keep them locally to want to replicate them in other locations or regions to ensure their resiliencies.
855</p> <a href="https://www.sqlshack.com/configure-backup-storage-redundancy-for-azure-cosmos-db-account/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/configure-backup-storage-redundancy-for-azure-cosmos-db-account/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
856		</div><!-- .entry-content -->
857
858		
859
860
861		<footer class="entry-meta">
862
863			<a href="https://www.sqlshack.com/category/technologies/azure-cosmos-db/" rel="category tag">Azure Cosmos DB</a>
864			
865			
866		</footer><!-- .entry-meta -->
867		
868		</div><!-- .home-post -->
869
870	</article><!-- #post -->							
871
872
873	<article id="post-81454" class="post-81454 post type-post status-publish format-standard has-post-thumbnail hentry category-monitoring category-performance">
874		<div class="avatar">
875						<span class="avatar-big-picture"> 
876					<img src="http://s33046.pcdn.co/wp-content/uploads/2017/11/Esat_Erkec.png" alt="Esat Erkec"> 
877				</span>
878					
879				</div>
880		<div class="home-post">
881
882		
883		<header class="entry-header">
884
885			<img width="624" height="317" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2023/05/details-of-the-query-store-top-resource-consuming-624x317.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Details of the Query Store Top Resource Consuming Queries" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/details-of-the-query-store-top-resource-consuming-624x317.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/05/details-of-the-query-store-top-resource-consuming-300x152.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/05/details-of-the-query-store-top-resource-consuming-1024x519.png 1024w, http://s33046.pcdn.co/wp-content/uploads/2023/05/details-of-the-query-store-top-resource-consuming-768x390.png 768w, http://s33046.pcdn.co/wp-content/uploads/2023/05/details-of-the-query-store-top-resource-consuming-1536x779.png 1536w, http://s33046.pcdn.co/wp-content/uploads/2023/05/details-of-the-query-store-top-resource-consuming.png 1577w" sizes="auto, (max-width: 624px) 100vw, 624px" /><noscript>
885<img width="624" height="317" src="http://s33046.pcdn.co/wp-content/uploads/2023/05/details-of-the-query-store-top-resource-consuming-624x317.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Details of the Query Store Top Resource Consuming Queries" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/details-of-the-query-store-top-resource-consuming-624x317.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/05/details-of-the-query-store-top-resource-consuming-300x152.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/05/details-of-the-query-store-top-resource-consuming-1024x519.png 1024w, http://s33046.pcdn.co/wp-content/uploads/2023/05/details-of-the-query-store-top-resource-consuming-768x390.png 768w, http://s33046.pcdn.co/wp-content/uploads/2023/05/details-of-the-query-store-top-resource-consuming-1536x779.png 1536w, http://s33046.pcdn.co/wp-content/uploads/2023/05/details-of-the-query-store-top-resource-consuming.png 1577w" sizes="auto, (max-width: 624px) 100vw, 624px" /></noscript>
886						
887			<h1 class="entry-title entry-title-home">
888
889				<a href="https://www.sqlshack.com/sql-performance-tuning-tips-for-newbies/" rel="bookmark">SQL Performance Tuning tips for newbies</a>
890
891			</h1>
892			<div class="clearfix"></div>
893
894						April 15, 2024			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/esat-erkec/" rel="author">Esat Erkec</a></span></span>
895			
896			
897
898		</header><!-- .entry-header -->
899
900
901
902		
903		<div class="entry-content">
904
905									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/sql-performance-tuning-tips-for-newbies/"></div><p>
906  The purpose of this article is to give newbies some basic advice about SQL performance tuning that helps to improve their query tuning skills in SQL Server.
907</p> <a href="https://www.sqlshack.com/sql-performance-tuning-tips-for-newbies/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/sql-performance-tuning-tips-for-newbies/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
908		</div><!-- .entry-content -->
909
910		
911
912
913		<footer class="entry-meta">
914
915			<a href="https://www.sqlshack.com/category/sql-server-performance-tuning/monitoring/" rel="category tag">Monitoring</a>, <a href="https://www.sqlshack.com/category/sql-server-performance-tuning/performance/" rel="category tag">Performance</a>
916			
917			
918		</footer><!-- .entry-meta -->
919		
920		</div><!-- .home-post -->
921
922	</article><!-- #post -->							
923
924
925	<article id="post-81440" class="post-81440 post type-post status-publish format-standard has-post-thumbnail hentry category-t-sql">
926		<div class="avatar">
927						<span class="avatar-big-picture"> 
928					<img src="http://s33046.pcdn.co/wp-content/uploads/2022/11/arindam.webp" alt="Arindam Mondal"> 
929				</span>
930					
931				</div>
932		<div class="home-post">
933
934		
935		<header class="entry-header">
936
937			<img width="552" height="238" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-in-with-subquery.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="SQL IN with Subquery" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-in-with-subquery.png 552w, http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-in-with-subquery-300x129.png 300w" sizes="auto, (max-width: 552px) 100vw, 552px" /><noscript><img width="552" height="238" src="http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-in-with-subquery.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="SQL IN with Subquery" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-in-with-subquery.png 552w, http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-in-with-subquery-300x129.png 300w" sizes="auto, (max-width: 552px) 100vw, 552px" /></noscript>
938						
939			<h1 class="entry-title entry-title-home">
940
941				<a href="https://www.sqlshack.com/understanding-the-sql-in-operator-with-examples/" rel="bookmark">Understanding the SQL IN operator with examples</a>
942
943			</h1>
944			<div class="clearfix"></div>
945
946						March 19, 2024			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/arindam/" rel="author">
946Arindam Mondal</a></span></span>
947			
948			
949
950		</header><!-- .entry-header -->
951
952
953
954		
955		<div class="entry-content">
956
957									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/understanding-the-sql-in-operator-with-examples/"></div><p>
958  Today we will learn about the SQL IN operator. The RDBMS systems are very popular today in terms of data storage, data security, and data analysis. SQL stands for Structured Query Language which is used to create, update, or retrieve data in RDBMS or Relational Database Management Systems like SQL Server, Oracle, Microsoft Access, MySQL, and PostgreSQL.
959</p> <a href="https://www.sqlshack.com/understanding-the-sql-in-operator-with-examples/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/understanding-the-sql-in-operator-with-examples/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
960		</div><!-- .entry-content -->
961
962		
963
964
965		<footer class="entry-meta">
966
967			<a href="https://www.sqlshack.com/category/languages-and-coding/t-sql/" rel="category tag">T-SQL</a>
968			
969			
970		</footer><!-- .entry-meta -->
971		
972		</div><!-- .home-post -->
973
974	</article><!-- #post -->							
975
976
977	<article id="post-81420" class="post-81420 post type-post status-publish format-standard has-post-thumbnail hentry category-t-sql">
978		<div class="avatar">
979						<span class="avatar-big-picture"> 
980					<img src="http://s33046.pcdn.co/wp-content/uploads/2020/07/rahulpic.png" alt="Rahul Mehta"> 
981				</span>
982					
983				</div>
984		<div class="home-post">
985
986		
987		<header class="entry-header">
988
989			<img width="624" height="516" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2023/05/sample-adventureworks-customer-table-624x516.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Sample Adventureworks customer table" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/sample-adventureworks-customer-table-624x516.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/05/sample-adventureworks-customer-table-300x248.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/05/sample-adventureworks-customer-table.png 674w" sizes="auto, (max-width: 624px) 100vw, 624px" /><noscript><img width="624" height="516" src="http://s33046.pcdn.co/wp-content/uploads/2023/05/sample-adventureworks-customer-table-624x516.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Sample Adventureworks customer table" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/sample-adventureworks-customer-table-624x516.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/05/sample-adventureworks-customer-table-300x248.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/05/sample-adventureworks-customer-table.png 674w" sizes="auto, (max-width: 624px) 100vw, 624px" /></noscript>
990						
991			<h1 class="entry-title entry-title-home">
992
993				<a href="https://www.sqlshack.com/finding-duplicates-in-sql/" rel="bookmark">Finding Duplicates in SQL</a>
994
995			</h1>
996			<div class="clearfix"></div>
997
998						February 7, 2024			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/rahul-mehta/" rel="author">Rahul Mehta</a></span></span>
999			
1000			
1001
1002		</header><!-- .entry-header -->
1003
1004
1005
1006		
1007		<div class="entry-content">
1008
1009									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/finding-duplicates-in-sql/"></div><p>
1010  This article will provide an understanding of identifying duplicate values in SQL.
1011</p> <a href="https://www.sqlshack.com/finding-duplicates-in-sql/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/finding-duplicates-in-sql/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
1012		</div><!-- .entry-content -->
1013
1014		
1015
1016
1017		<footer class="entry-meta">
1018
1019			<a href="https://www.sqlshack.com/category/languages-and-coding/t-sql/" rel="category tag">T-SQL</a>
1020			
1021			
1022		</footer><!-- .entry-meta -->
1023		
1024		</div><!-- .home-post -->
1025
1026	</article><!-- #post -->							
1027
1028
1029	<article id="post-81414" class="post-81414 post type-post status-publish format-standard has-post-thumbnail hentry category-t-sql">
1030		<div class="avatar">
1031						<span class="avatar-big-picture"> 
1032					<img src="http://s33046.pcdn.co/wp-content/uploads/2021/08/ManvendraSingh80x80_Shack.jpg" alt="Manvendra Singh"> 
1033				</span>
1034					
1035				</div>
1036		<div class="home-post">
1037
1038		
1039		<header class="entry-header">
1040
1041			<img width="520" height="391" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2023/05/run-sql-select-unique-statement.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Run SQL SELECT UNIQUE statement" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/run-sql-select-unique-statement.png 520w, http://s33046.pcdn.co/wp-content/uploads/2023/05/run-sql-select-unique-statement-300x226.png 300w" sizes="auto, (max-width: 520px) 100v
1041w, 520px" /><noscript><img width="520" height="391" src="http://s33046.pcdn.co/wp-content/uploads/2023/05/run-sql-select-unique-statement.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Run SQL SELECT UNIQUE statement" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/run-sql-select-unique-statement.png 520w, http://s33046.pcdn.co/wp-content/uploads/2023/05/run-sql-select-unique-statement-300x226.png 300w" sizes="auto, (max-width: 520px) 100vw, 520px" /></noscript>
1042						
1043			<h1 class="entry-title entry-title-home">
1044
1045				<a href="https://www.sqlshack.com/difference-between-sql-select-unique-and-select-distinct/" rel="bookmark">Difference between SQL SELECT UNIQUE and SELECT DISTINCT</a>
1046
1047			</h1>
1048			<div class="clearfix"></div>
1049
1050						January 16, 2024			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/manvendra-singh/" rel="author">Manvendra Singh</a></span></span>
1051			
1052			
1053
1054		</header><!-- .entry-header -->
1055
1056
1057
1058		
1059		<div class="entry-content">
1060
1061									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/difference-between-sql-select-unique-and-select-distinct/"></div><p>
1062  Today, we will learn the difference between SQL <em>SELECT UNIQUE</em> and <em>SELECT DISTINCT</em> in this article. As we all know that SQL is a query language that is used to access, create, delete, and modify data stored in a database system like SQL Server, Oracle, MySQL, etc. All these database systems have their query language like TSQL, PLSQL, etc. These query languages are based on ANSI standard SQL language which can also be used in these database systems to perform any transaction.
1063</p> <a href="https://www.sqlshack.com/difference-between-sql-select-unique-and-select-distinct/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/difference-between-sql-select-unique-and-select-distinct/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
1064		</div><!-- .entry-content -->
1065
1066		
1067
1068
1069		<footer class="entry-meta">
1070
1071			<a href="https://www.sqlshack.com/category/languages-and-coding/t-sql/" rel="category tag">T-SQL</a>
1072			
1073			
1074		</footer><!-- .entry-meta -->
1075		
1076		</div><!-- .home-post -->
1077
1078	</article><!-- #post -->							
1079
1080
1081	<article id="post-81399" class="post-81399 post type-post status-publish format-standard hentry category-monitoring category-performance">
1082		<div class="avatar">
1083						<span class="avatar-big-picture"> 
1084					<img src="http://s33046.pcdn.co/wp-content/uploads/2023/02/hadi-fadlallah.jpg" alt="Hadi Fadlallah"> 
1085				</span>
1086					
1087				</div>
1088		<div class="home-post">
1089
1090		
1091		<header class="entry-header">
1092
1093			
1094						
1095			<h1 class="entry-title entry-title-home">
1096
1097				<a href="https://www.sqlshack.com/an-overview-of-sql-server-monitoring-tools/" rel="bookmark">An overview of SQL Server monitoring tools</a>
1098
1099			</h1>
1100			<div class="clearfix"></div>
1101
1102						December 12, 2023			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/hadi/" rel="author">Hadi Fadlallah</a></span></span>
1103			
1104			
1105
1106		</header><!-- .entry-header -->
1107
1108
1109
1110		
1111		<div class="entry-content">
1112
1113									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/an-overview-of-sql-server-monitoring-tools/"></div><p>
1114  This article explains some of the popular SQL Server monitoring tools and techniques.
1115</p> <a href="https://www.sqlshack.com/an-overview-of-sql-server-monitoring-tools/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/an-overview-of-sql-server-monitoring-tools/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
1116		</div><!-- .entry-content -->
1117
1118		
1119
1120
1121		<footer class="entry-meta">
1122
1123			<a href="https://www.sqlshack.com/category/sql-server-performance-tuning/monitoring/" rel="category tag">Monitoring</a>, <a href="https://www.sqlshack.com/category/sql-server-performance-tuning/performance/" rel="category tag">Performance</a>
1124			
1125			
1126		</footer><!-- .entry-meta -->
1127		
1128		</div><!-- .home-post -->
1129
1130	</article><!-- #post -->							
1131
1132
1133	<article id="post-81385" class="post-81385 post type-post status-publish format-standard has-post-thumbnail hentry category-postgresql">
1134		<div class="avatar">
1135						<span class="avatar-big-picture"> 
1136					<img src="/wp-content/uploads/2014/10/DanielCalbimonte.jpg" alt="Daniel Calbimonte"> 
1137				</span>
1138					
1139				</div>
1140		<div class="home-post">
1141
1142		
1143		<header class="entry-header">
1144
1145			<img width="624" height="494" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2023/05/postgresql-tutorial-to-create-a-user-privileges-t-624x494.jpeg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="PostgreSQL tutorial to create a user -Privileges tab to create login" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/postgresql-tutorial-to-create-a-user-privileges-t-624x494.jpeg 624w, http://s33046.pcdn.co/wp-content/uploads/2023/05/postgresql-tutorial-to-create-a-user-privileges-t-300x237.jpeg 300w, http://s33046.pcdn.co/wp-content/uploads/2023/05/postgresql-tutorial-to-create-a-user-privileges-t-1024x810.jpeg 1024
1145w, http://s33046.pcdn.co/wp-content/uploads/2023/05/postgresql-tutorial-to-create-a-user-privileges-t-768x607.jpeg 768w, http://s33046.pcdn.co/wp-content/uploads/2023/05/postgresql-tutorial-to-create-a-user-privileges-t.jpeg 1052w" sizes="auto, (max-width: 624px) 100vw, 624px" /><noscript><img width="624" height="494" src="http://s33046.pcdn.co/wp-content/uploads/2023/05/postgresql-tutorial-to-create-a-user-privileges-t-624x494.jpeg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="PostgreSQL tutorial to create a user -Privileges tab to create login" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/postgresql-tutorial-to-create-a-user-privileges-t-624x494.jpeg 624w, http://s33046.pcdn.co/wp-content/uploads/2023/05/postgresql-tutorial-to-create-a-user-privileges-t-300x237.jpeg 300w, http://s33046.pcdn.co/wp-content/uploads/2023/05/postgresql-tutorial-to-create-a-user-privileges-t-1024x810.jpeg 1024w, http://s33046.pcdn.co/wp-content/uploads/2023/05/postgresql-tutorial-to-create-a-user-privileges-t-768x607.jpeg 768w, http://s33046.pcdn.co/wp-content/uploads/2023/05/postgresql-tutorial-to-create-a-user-privileges-t.jpeg 1052w" sizes="auto, (max-width: 624px) 100vw, 624px" /></noscript>
1146						
1147			<h1 class="entry-title entry-title-home">
1148
1149				<a href="https://www.sqlshack.com/postgresql-tutorial-to-create-a-user/" rel="bookmark">PostgreSQL tutorial to create a user</a>
1150
1151			</h1>
1152			<div class="clearfix"></div>
1153
1154						November 12, 2023			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/daniel-calbimonte/" rel="author">Daniel Calbimonte</a></span></span>
1155			
1156			
1157
1158		</header><!-- .entry-header -->
1159
1160
1161
1162		
1163		<div class="entry-content">
1164
1165									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/postgresql-tutorial-to-create-a-user/"></div><h2>Introduction to the PostgreSQL tutorial to create a user</h2>
1166<p>
1167  In this article, we will show a PostgreSQL tutorial to create a user using PgAdmin and PL/PgSQL.
1168</p> <a href="https://www.sqlshack.com/postgresql-tutorial-to-create-a-user/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/postgresql-tutorial-to-create-a-user/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
1169		</div><!-- .entry-content -->
1170
1171		
1172
1173
1174		<footer class="entry-meta">
1175
1176			<a href="https://www.sqlshack.com/category/technologies/postgresql/" rel="category tag">PostgreSQL</a>
1177			
1178			
1179		</footer><!-- .entry-meta -->
1180		
1181		</div><!-- .home-post -->
1182
1183	</article><!-- #post -->							
1184
1185
1186	<article id="post-81370" class="post-81370 post type-post status-publish format-standard has-post-thumbnail hentry category-mysql">
1187		<div class="avatar">
1188						<span class="avatar-big-picture"> 
1189					<img src="http://s33046.pcdn.co/wp-content/uploads/2020/07/rahulpic.png" alt="Rahul Mehta"> 
1190				</span>
1191					
1192				</div>
1193		<div class="home-post">
1194
1195		
1196		<header class="entry-header">
1197
1198			<img width="541" height="397" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2023/05/resulting-value-is.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Resulting value &quot;IS&quot;" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/resulting-value-is.png 541w, http://s33046.pcdn.co/wp-content/uploads/2023/05/resulting-value-is-300x220.png 300w" sizes="auto, (max-width: 541px) 100vw, 541px" /><noscript><img width="541" height="397" src="http://s33046.pcdn.co/wp-content/uploads/2023/05/resulting-value-is.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Resulting value &quot;IS&quot;" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/resulting-value-is.png 541w, http://s33046.pcdn.co/wp-content/uploads/2023/05/resulting-value-is-300x220.png 300w" sizes="auto, (max-width: 541px) 100v
1198w, 541px" /></noscript>
1199						
1200			<h1 class="entry-title entry-title-home">
1201
1202				<a href="https://www.sqlshack.com/mysql-substring-uses-with-examples/" rel="bookmark">MySQL substring uses with examples</a>
1203
1204			</h1>
1205			<div class="clearfix"></div>
1206
1207						October 14, 2023			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/rahul-mehta/" rel="author">Rahul Mehta</a></span></span>
1208			
1209			
1210
1211		</header><!-- .entry-header -->
1212
1213
1214
1215		
1216		<div class="entry-content">
1217
1218									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/mysql-substring-uses-with-examples/"></div><p>
1219  This article will provide an understanding of different ways to use substring in <a href="https://www.quest.com/learn/what-is-my-sql.aspx">MySQL</a>.
1220</p> <a href="https://www.sqlshack.com/mysql-substring-uses-with-examples/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/mysql-substring-uses-with-examples/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
1221		</div><!-- .entry-content -->
1222
1223		
1224
1225
1226		<footer class="entry-meta">
1227
1228			<a href="https://www.sqlshack.com/category/technologies/mysql/" rel="category tag">MySQL</a>
1229			
1230			
1231		</footer><!-- .entry-meta -->
1232		
1233		</div><!-- .home-post -->
1234
1235	</article><!-- #post -->							
1236
1237
1238	<article id="post-81358" class="post-81358 post type-post status-publish format-standard has-post-thumbnail hentry category-data-types">
1239		<div class="avatar">
1240						<span class="avatar-big-picture"> 
1241					<img src="http://s33046.pcdn.co/wp-content/uploads/2022/11/arindam.webp" alt="Arindam Mondal"> 
1242				</span>
1243					
1244				</div>
1245		<div class="home-post">
1246
1247		
1248		<header class="entry-header">
1249
1250			<img width="624" height="328" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2019/03/sqlshack-default-624x328.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2019/03/sqlshack-default-624x328.png 624w, http://s33046.pcdn.co/wp-content/uploads/2019/03/sqlshack-default-300x158.png 300w, http://s33046.pcdn.co/wp-content/uploads/2019/03/sqlshack-default-768x403.png 768w, http://s33046.pcdn.co/wp-content/uploads/2019/03/sqlshack-default-1024x538.png 1024w, http://s33046.pcdn.co/wp-content/uploads/2019/03/sqlshack-default.png 1200w" sizes="auto, (max-width: 624px) 100vw, 624px" /><noscript><img width="624" height="328" src="http://s33046.pcdn.co/wp-content/uploads/2019/03/sqlshack-default-624x328.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2019/03/sqlshack-default-624x328.png 624w, http://s33046.pcdn.co/wp-content/uploads/2019/03/sqlshack-default-300x158.png 300w, http://s33046.pcdn.co/wp-content/uploads/2019/03/sqlshack-default-768x403.png 768w, http://s33046.pcdn.co/wp-content/uploads/2019/03/sqlshack-default-1024x538.png 1024w, http://s33046.pcdn.co/wp-content/uploads/2019/03/sqlshack-default.png 1200w" sizes="auto, (max-width: 624px) 100vw, 624px" /></noscript>
1251						
1252			<h1 class="entry-title entry-title-home">
1253
1254				<a href="https://www.sqlshack.com/an-introduction-to-postgresql-data-types-with-examples/" rel="bookmark">An introduction to PostgreSQL Data Types with examples</a>
1255
1256			</h1>
1257			<div class="clearfix"></div>
1258
1259						September 15, 2023			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/arindam/" rel="author">
1259Arindam Mondal</a></span></span>
1260			
1261			
1262
1263		</header><!-- .entry-header -->
1264
1265
1266
1267		
1268		<div class="entry-content">
1269
1270									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/an-introduction-to-postgresql-data-types-with-examples/"></div><p>
1271  This article will show PostgreSQL Data Types with various examples.
1272</p>
1273 <a href="https://www.sqlshack.com/an-introduction-to-postgresql-data-types-with-examples/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/an-introduction-to-postgresql-data-types-with-examples/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
1274		</div><!-- .entry-content -->
1275
1276		
1277
1278
1279		<footer class="entry-meta">
1280
1281			<a href="https://www.sqlshack.com/category/database-design/data-types/" rel="category tag">Data types</a>
1282			
1283			
1284		</footer><!-- .entry-meta -->
1285		
1286		</div><!-- .home-post -->
1287
1288	</article><!-- #post -->							
1289
1290
1291	<article id="post-81346" class="post-81346 post type-post status-publish format-standard has-post-thumbnail hentry category-sql-unit-testing category-testing">
1292		<div class="avatar">
1293						<span class="avatar-big-picture"> 
1294					<img src="http://s33046.pcdn.co/wp-content/uploads/2017/11/Esat_Erkec.png" alt="Esat Erkec"> 
1295				</span>
1296					
1297				</div>
1298		<div class="home-post">
1299
1300		
1301		<header class="entry-header">
1302
1303			<img width="624" height="345" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2023/05/reviewing-the-a-sql-unit-test-details-with-detaile-624x345.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Reviewing the a SQL unit test details with detailed explanation" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/reviewing-the-a-sql-unit-test-details-with-detaile-624x345.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/05/reviewing-the-a-sql-unit-test-details-with-detaile-300x166.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/05/reviewing-the-a-sql-unit-test-details-with-detaile-1024x566.png 1024w, http://s33046.pcdn.co/wp-content/uploads/2023/05/reviewing-the-a-sql-unit-test-details-with-detaile-768x425.png 768w, http://s33046.pcdn.co/wp-content/uploads/2023/05/reviewing-the-a-sql-unit-test-details-with-detaile.png 1130w" sizes="auto, (max-width: 624px) 100vw, 624px" /><noscript><img width="624" height="345" src="http://s33046.pcdn.co/wp-content/uploads/2023/05/reviewing-the-a-sql-unit-test-details-with-detaile-624x345.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Reviewing the a SQL unit test details with detailed explanation" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/reviewing-the-a-sql-unit-test-details-with-detaile-624x345.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/05/reviewing-the-a-sql-unit-test-details-with-detaile-300x166.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/05/reviewing-the-a-sql-unit-test-details-with-detaile-1024x566.png 1024w, http://s33046.pcdn.co/wp-content/uploads/2023/05/reviewing-the-a-sql-unit-test-details-with-detaile-768x425.png 768w, http://s33046.pcdn.co/wp-content/uploads/2023/05/reviewing-the-a-sql-unit-test-details-with-detaile.png 1130w" sizes="auto, (max-width: 624px) 100vw, 624px" /></noscript>
1304						
1305			<h1 class="entry-title entry-title-home">
1306
1307				<a href="https://www.sqlshack.com/sql-unit-testing-reference-guide-for-beginners/" rel="bookmark">SQL Unit Testing reference guide for beginners</a>
1308
1309			</h1>
1310			<div class="clearfix"></div>
1311
1312						August 11, 2023			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/esat-erkec/" rel="author">Esat Erkec</a></span></span>
1313			
1314			
1315
1316		</header><!-- .entry-header -->
1317
1318
1319
1320		
1321		<div class="entry-content">
1322
1323									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/sql-unit-testing-reference-guide-for-beginners/"></div><p>
1324  In this article, we are going to learn the basics of SQL unit testing and how to write a SQL unit test through the tSQLt framework.
1325</p> <a href="https://www.sqlshack.com/sql-unit-testing-reference-guide-for-beginners/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/sql-unit-testing-reference-guide-for-beginners/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
1326		</div><!-- .entry-content -->
1327
1328		
1329
1330
1331		<footer class="entry-meta">
1332
1333			<a href="https://www.sqlshack.com/category/sql-database-development/sql-unit-testing/" rel="category tag">SQL unit testing</a>, <a href="https://www.sqlshack.com/category/sql-database-development/testing/" rel="category tag">Testing</a>
1334			
1335			
1336		</footer><!-- .entry-meta -->
1337		
1338		</div><!-- .home-post -->
1339
1340	</article><!-- #post -->							
1341
1342
1343	<article id="post-81310" class="post-81310 post type-post status-publish format-standard has-post-thumbnail hentry category-development category-postgresql">
1344		<div class="avatar">
1345						<span class="avatar-big-picture"> 
1346					<img src="http://s33046.pcdn.co/wp-content/uploads/2022/02/rajendra_gupta.png" alt="Rajendra Gupta"> 
1347				</span>
1348					
1349				</div>
1350		<div class="home-post">
1351
1352		
1353		<header class="entry-header">
1354
1355			<img width="624" height="307" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-script-624x307.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="SQL script" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-script-624x307.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-script-300x148.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-script-1024x504.png 1024w, http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-script-768x378.png 768w, http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-script.png 1087w" sizes="auto, (max-width: 624px) 100vw, 624px" /><noscript><img width="624" height="307" src="http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-script-624x307.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="SQL script" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-script-624x307.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-script-300x148.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-script-1024x504.png 1024w, http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-script-768x378.png 768w, http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-script.png 1087w" sizes="auto, (max-width: 624px) 100vw, 624px" /></noscript>
1356						
1357			<h1 class="entry-title entry-title-home">
1358
1359				<a href="https://www.sqlshack.com/how-to-install-postgresql-on-ubuntu/" rel="bookmark">How to install PostgreSQL on Ubuntu</a>
1360
1361			</h1>
1362			<div class="clearfix"></div>
1363
1364						July 13, 2023			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/rajendra-gupta/" rel="author">Rajendra Gupta</a></span></span>
1365			
1366			
1367
1368		</header><!-- .entry-header -->
1369
1370
1371
1372		
1373		<div class="entry-content">
1374
1375									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/how-to-install-postgresql-on-ubuntu/"></div><p>
1376  This article covers the different methods to install Postgres on Ubuntu.
1377</p> <a href="https://www.sqlshack.com/how-to-install-postgresql-on-ubuntu/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/how-to-install-postgresql-on-ubuntu/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
1378		</div><!-- .entry-content -->
1379
1380		
1381
1382
1383		<footer class="entry-meta">
1384
1385			<a href="https://www.sqlshack.com/category/sql-database-development/development/" rel="category tag">Development</a>, <a href="https://www.sqlshack.com/category/technologies/postgresql/" rel="category tag">PostgreSQL</a>
1386			
1387			
1388		</footer><!-- .entry-meta -->
1389		
1390		</div><!-- .home-post -->
1391
1392	</article><!-- #post -->							
1393
1394
1395	<article id="post-81289" class="post-81289 post type-post status-publish format-standard has-post-thumbnail hentry category-monitoring category-performance-counters">
1396		<div class="avatar">
1397						<span class="avatar-big-picture"> 
1398					<img src="http://s33046.pcdn.co/wp-content/uploads/2023/02/hadi-fadlallah.jpg" alt="Hadi Fadlallah"> 
1399				</span>
1400					
1401				</div>
1402		<div class="home-post">
1403
1404		
1405		<header class="entry-header">
1406
1407			<img width="624" height="372" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2023/05/monitoring-mongodb-using-foglight-624x372.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="monitoring MongoDB using Foglight" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/monitoring-mongodb-using-foglight-624x372.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/05/monitoring-mongodb-using-foglight-300x179.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/05/monitoring-mongodb-using-foglight.png 736w" sizes="auto, (max-width: 624px) 100vw, 624px" /><noscript><img width="624" height="372" src="http://s33046.pcdn.co/wp-content/uploads/2023/05/monitoring-mongodb-using-foglight-624x372.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="monitoring MongoDB using Foglight" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/monitoring-mongodb-using-foglight-624x372.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/05/monitoring-mongodb-using-foglight-300x179.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/05/monitoring-mongodb-using-foglight.png 736w" sizes="auto, (max-width: 624px) 100vw, 624px" /></noscript>
1408						
1409			<h1 class="entry-title entry-title-home">
1410
1411				<a href="https://www.sqlshack.com/different-methods-for-monitoring-mongodb-databases/" rel="bookmark">Different methods for monitoring MongoDB databases</a>
1412
1413			</h1>
1414			<div class="clearfix"></div>
1415
1416						June 14, 2023			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/hadi/" rel="author">Hadi Fadlallah</a></span></span>
1417			
1418			
1419
1420		</header><!-- .entry-header -->
1421
1422
1423
1424		
1425		<div class="entry-content">
1426
1427									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/different-methods-for-monitoring-mongodb-databases/"></div><p>
1428  This article explains what database monitoring is and why it is essential. Then, it illustrates the different methods for monitoring MongoDB NoSQL databases.
1429</p> <a href="https://www.sqlshack.com/different-methods-for-monitoring-mongodb-databases/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/different-methods-for-monitoring-mongodb-databases/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
1430		</div><!-- .entry-content -->
1431
1432		
1433
1434
1435		<footer class="entry-meta">
1436
1437			<a href="https://www.sqlshack.com/category/sql-server-performance-tuning/monitoring/" rel="category tag">Monitoring</a>, <a href="https://www.sqlshack.com/category/sql-server-performance-tuning/performance-counters/" rel="category tag">Performance counters</a>
1438			
1439			
1440		</footer><!-- .entry-meta -->
1441		
1442		</div><!-- .home-post -->
1443
1444	</article><!-- #post -->							
1445
1446
1447	<article id="post-81246" class="post-81246 post type-post status-publish format-standard has-post-thumbnail hentry category-machine-learning category-python">
1448		<div class="avatar">
1449						<span class="avatar-big-picture"> 
1450					<img src="http://s33046.pcdn.co/wp-content/uploads/2019/03/haroonashraf-1.jpg" alt="Haroon Ashraf"> 
1451				</span>
1452					
1453				</div>
1454		<div class="home-post">
1455
1456		
1457		<header class="entry-header">
1458
1459			<img width="624" height="482" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-machine-learning-service-using-python-language-1-624x482.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="SQL Machine Learning Service using Python Language Import SQL data Manipulate data in Python Export data in SQL" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-machine-learning-service-using-python-language-1-624x482.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-machine-learning-service-using-python-language-1-300x232.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-machine-learning-service-using-python-language-1-768x593.png 768w, http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-machine-learning-service-using-python-language-1.png 845w" sizes="auto, (max-width: 624px) 100vw, 624px" /><noscript><img width="624" height="482" src="http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-machine-learning-service-using-python-language-1-624x482.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="SQL Machine Learning Service using Python Language Import SQL data Manipulate data in Python Export data in SQL" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-machine-learning-service-using-python-language-1-624x482.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-machine-learning-service-using-python-language-1-300x232.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-machine-learning-service-using-python-language-1-768x593.png 768w, http://s33046.pcdn.co/wp-content/uploads/2023/05/sql-machine-learning-service-using-python-language-1.png 845w" sizes="auto, (max-width: 624px) 100vw, 624px" /></noscript>
1460						
1461			<h1 class="entry-title entry-title-home">
1462
1463				<a href="https://www.sqlshack.com/sql-machine-learning-in-simple-words/" rel="bookmark">SQL Machine Learning in simple words</a>
1464
1465			</h1>
1466			<div class="clearfix"></div>
1467
1468						May 15, 2023			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/haroon/" rel="author">Haroon Ashraf</a></span></span>
1469			
1470			
1471
1472		</header><!-- .entry-header -->
1473
1474
1475
1476		
1477		<div class="entry-content">
1478
1479									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/sql-machine-learning-in-simple-words/"></div><p>
1480  This article is about SQL Machine Learning which is one of the most interesting topics equally attractive to both beginners and professionals of different areas of expertise. 
1481</p> <a href="https://www.sqlshack.c
1481om/sql-machine-learning-in-simple-words/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/sql-machine-learning-in-simple-words/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
1482		</div><!-- .entry-content -->
1483
1484		
1485
1486
1487		<footer class="entry-meta">
1488
1489			<a href="https://www.sqlshack.com/category/machine-learning/" rel="category tag">Machine learning</a>, <a href="https://www.sqlshack.com/category/languages-and-coding/python/" rel="category tag">Python</a>
1490			
1491			
1492		</footer><!-- .entry-meta -->
1493		
1494		</div><!-- .home-post -->
1495
1496	</article><!-- #post -->							
1497
1498
1499	<article id="post-81227" class="post-81227 post type-post status-publish format-standard has-post-thumbnail hentry category-functions category-t-sql">
1500		<div class="avatar">
1501						<span class="avatar-big-picture"> 
1502					<img src="http://s33046.pcdn.co/wp-content/uploads/2019/05/gaurimahajan.jpg" alt="Gauri Mahajan"> 
1503				</span>
1504					
1505				</div>
1506		<div class="home-post">
1507
1508		
1509		<header class="entry-header">
1510
1511			<img width="334" height="313" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2023/04/sample-data-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Sample Data" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/04/sample-data-1.png 334w, http://s33046.pcdn.co/wp-content/uploads/2023/04/sample-data-1-300x281.png 300w" sizes="auto, (max-width: 334px) 100vw, 334px" /><noscript><img width="334" height="313" src="http://s33046.pcdn.co/wp-content/uploads/2023/04/sample-data-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Sample Data" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/04/sample-data-1.png 334w, http://s33046.pcdn.co/wp-content/uploads/2023/04/sample-data-1-300x281.png 300w" sizes="auto, (max-width: 334px) 100vw, 334px" /></noscript>
1512						
1513			<h1 class="entry-title entry-title-home">
1514
1515				<a href="https://www.sqlshack.com/introduction-to-the-sql-standard-deviation-function/" rel="bookmark">Introduction to the SQL Standard Deviation function</a>
1516
1517			</h1>
1518			<div class="clearfix"></div>
1519
1520						April 21, 2023			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/gauri-mahajan/" rel="author">Gauri Mahajan</a></span></span>
1521			
1522			
1523
1524		</header><!-- .entry-header -->
1525
1526
1527
1528		
1529		<div class="entry-content">
1530
1531									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/introduction-to-the-sql-standard-deviation-function/"></div>In this article, we will learn about one of the important statistical functions, the SQL Standard Deviation function.
1532
1533 <a href="https://www.sqlshack.com/introduction-to-the-sql-standard-deviation-function/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/introduction-to-the-sql-standard-deviation-function/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
1534		</div><!-- .entry-content -->
1535
1536		
1537
1538
1539		<footer class="entry-meta">
1540
1541			<a href="https://www.sqlshack.com/category/sql-database-development/functions/" rel="category tag">Functions</a>, <a href="https://www.sqlshack.com/category/languages-and-coding/t-sql/" rel="category tag">T-SQL</a>
1542			
1543			
1544		</footer><!-- .entry-meta -->
1545		
1546		</div><!-- .home-post -->
1547
1548	</article><!-- #post -->							
1549
1550
1551	<article id="post-81213" class="post-81213 post type-post status-publish format-standard has-post-thumbnail hentry category-t-sql">
1552		<div class="avatar">
1553						<span class="avatar-big-picture"> 
1554					<img src="http://s33046.pcdn.co/wp-content/uploads/2021/08/ManvendraSingh80x80_Shack.jpg" alt="Manvendra Singh"> 
1555				</span>
1556					
1557				</div>
1558		<div class="home-post">
1559
1560		
1561		<header class="entry-header">
1562
1563			<img width="624" height="320" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2023/04/use-case-with-ORDER-BY-clause-624x320.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="use case with ORDER BY clause" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/04/use-case-with-ORDER-BY-clause-624x320.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/04/use-case-with-ORDER-BY-clause-300x154.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/04/use-case-with-ORDER-BY-clause.png 747w" sizes="auto, (max-width: 624px) 100vw, 624px" /><noscript><img width="624" height="320" src="http://s33046.pcdn.co/wp-content/uploads/2023/04/use-case-with-ORDER-BY-clause-624x320.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="use case with ORDER BY clause" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/04/use-case-with-ORDER-BY-clause-624x320.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/04/use-case-with-ORDER-BY-clause-300x154.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/04/use-case-with-ORDER-BY-clause.png 747w" sizes="auto, (max-width: 624px) 100vw, 624px" /></noscript>
1564						
1565			<h1 class="entry-title entry-title-home">
1566
1567				<a href="https://www.sqlshack.com/how-to-do-a-group-by-clause/" rel="bookmark">How to do a group by clause</a>
1568
1569			</h1>
1570			<div class="clearfix"></div>
1571
1572						April 12, 2023			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/manvendra-singh/" rel="author">Manvendra Singh</a></span></span>
1573			
1574			
1575
1576		</header><!-- .entry-header -->
1577
1578
1579
1580		
1581		<div class="entry-content">
1582
1583									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/how-to-do-a-group-by-clause/"></div><p>
1584  Today, I am going to explain how to do a group by clause in your SQL queries. SQL (Structured Query L
1584anguage) is a very popular query language that is widely used to access and manipulate records stored in a database. The GROUP BY clause is also a SQL statement that is used to group identical values. Let’s first understand this clause what it does and why we use this clause in SQL queries.
1585</p> <a href="https://www.sqlshack.com/how-to-do-a-group-by-clause/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/how-to-do-a-group-by-clause/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
1586		</div><!-- .entry-content -->
1587
1588		
1589
1590
1591		<footer class="entry-meta">
1592
1593			<a href="https://www.sqlshack.com/category/languages-and-coding/t-sql/" rel="category tag">T-SQL</a>
1594			
1595			
1596		</footer><!-- .entry-meta -->
1597		
1598		</div><!-- .home-post -->
1599
1600	</article><!-- #post -->							
1601
1602
1603	<article id="post-81190" class="post-81190 post type-post status-publish format-standard has-post-thumbnail hentry category-postgresql">
1604		<div class="avatar">
1605						<span class="avatar-big-picture"> 
1606					<img src="/wp-content/uploads/2014/10/DanielCalbimonte.jpg" alt="Daniel Calbimonte"> 
1607				</span>
1608					
1609				</div>
1610		<div class="home-post">
1611
1612		
1613		<header class="entry-header">
1614
1615			<img width="624" height="436" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2023/04/properties.jpeg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Properties" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/04/properties.jpeg 625w, http://s33046.pcdn.co/wp-content/uploads/2023/04/properties-300x210.jpeg 300w" sizes="auto, (max-width: 624px) 100vw, 624px" /><noscript><img width="624" height="436" src="http://s33046.pcdn.co/wp-content/uploads/2023/04/properties.jpeg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Properties" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/04/properties.jpeg 625w, http://s33046.pcdn.co/wp-content/uploads/2023/04/properties-300x210.jpeg 300w" sizes="auto, (max-width: 624px) 100vw, 624px" /></noscript>
1616						
1617			<h1 class="entry-title entry-title-home">
1618
1619				<a href="https://www.sqlshack.com/postgresql-tutorial-for-beginners/" rel="bookmark">PostgreSQL Tutorial for beginners</a>
1620
1621			</h1>
1622			<div class="clearfix"></div>
1623
1624						April 6, 2023			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/daniel-calbimonte/" rel="author">Daniel Calbimonte</a></span></span>
1625			
1626			
1627
1628		</header><!-- .entry-header -->
1629
1630
1631
1632		
1633		<div class="entry-content">
1634
1635									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/postgresql-tutorial-for-beginners/"></div><h2>Introduction to the PostgreSQL tutorial </h2>
1636<p>
1637  In this article, we will have a tutorial to learn PostgreSQL. According to <a href="https://www.statista.com/statistics/809750/worldwide-popularity-ranking-database-management-systems/" target="_blank" rel="nofollow noopener">Statista</a>, PostgreSQL is the 4<sup>th</sup> most popular database in the world (the other ones are Oracle, SQL Server, and MySQL). That is why we think it is an important DBMS to learn.
1638</p> <a href="https://www.sqlshack.com/postgresql-tutorial-for-beginners/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/postgresql-tutorial-for-beginners/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
1639		</div><!-- .entry-content -->
1640
1641		
1642
1643
1644		<footer class="entry-meta">
1645
1646			<a href="https://www.sqlshack.com/category/technologies/postgresql/" rel="category tag">PostgreSQL</a>
1647			
1648			
1649		</footer><!-- .entry-meta -->
1650		
1651		</div><!-- .home-post -->
1652
1653	</article><!-- #post -->							
1654
1655
1656	<article id="post-81173" class="post-81173 post type-post status-publish format-standard has-post-thumbnail hentry category-mysql category-string-concatenation">
1657		<div class="avatar">
1658						<span class="avatar-big-picture"> 
1659					<img src="http://s33046.pcdn.co/wp-content/uploads/2020/07/rahulpic.png" alt="Rahul Mehta"> 
1660				</span>
1661					
1662				</div>
1663		<div class="home-post">
1664
1665		
1666		<header class="entry-header">
1667
1668			<img width="624" height="312" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2023/03/image-showing-all-the-table-records-624x312.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Image showing all the table records" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/03/image-showing-all-the-table-records-624x312.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/03/image-showing-all-the-table-records-300x150.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/03/image-showing-all-the-table-records-1024x512.png 1024w, http://s33046.pcdn.co/wp-content/uploads/2023/03/image-showing-all-the-table-records-768x384.png 768w, http://s33046.pcdn.co/wp-content/uploads/2023/03/image-showing-all-the-table-records.png 1383w" sizes="auto, (max-width: 624px) 100vw, 624px" /><noscript><img width="624" height="312" src="http://s33046.pcdn.co/wp-content/uploads/2023/03/image-showing-all-the-table-records-624x312.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Image showing all the table records" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/03/image-showing-all-the-table-records-624x312.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/03/image-showing-all-the-table-records-300x150.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/03/image-showing-all-the-table-records-1024x512.png 1024w, http://s33046.pcdn.co/wp-content/uploads/2023/03/image-showing-all-the-table-records-768x384.png 768w, http://s33046.pcdn.co/wp-content/uploads/2023/03/image-showing-all-the-table-records.png 1383w" sizes="auto, (max-width: 624px) 100vw, 624px" /></noscript>
1669						
1670			<h1 class="entry-title entry-title-home">
1671
1672				<a href="https://www.sqlshack.com/mysql-group_concat-function-overview/" rel="bookmark">MySQL group_concat() function overview</a>
1673
1674			</h1>
1675			<div class="clearfix"></div>
1676
1677						March 28, 2023			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/rahul-mehta/" rel="author">Rahul Mehta</a></span></span>
1678			
1679			
1680
1681		</header><!-- .entry-header -->
1682
1683
1684
1685		
1686		<div class="entry-content">
1687
1688									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/mysql-group_concat-function-overview/"></div><p>
1689  This article will provide an understanding of how to effectively use group concatenation in MySQL.
1690</p> <a href="https://www.sqlshack.com/mysql-group_concat-function-overview/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/mysql-group_concat-function-overview/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
1691		</div><!-- .entry-content -->
1692
1693		
1694
1695
1696		<footer class="entry-meta">
1697
1698			<a href="https://www.sqlshack.com/category/technologies/mysql/" rel="category tag">MySQL</a>, <a href="https://www.sqlshack.com/category/sql-database-development/string-concatenation/" rel="category tag">String Concatenation</a>
1699			
1700			
1701		</footer><!-- .entry-meta -->
1702		
1703		</div><!-- .home-post -->
1704
1705	</article><!-- #post -->							
1706
1707
1708	<article id="post-81153" class="post-81153 post type-post status-publish format-standard has-post-thumbnail hentry category-oracle">
1709		<div class="avatar">
1710						<span class="avatar-big-picture"> 
1711					<img src="http://s33046.pcdn.co/wp-content/uploads/2022/11/arindam.webp" alt="Arindam Mondal"> 
1712				</span>
1713					
1714				</div>
1715		<div class="home-post">
1716
1717		
1718		<header class="entry-header">
1719
1720			<img width="441" height="202" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2023/03/hello12.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="&#039;HELLO&#039;,1,2" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/03/hello12.png 441w, http://s33046.pcdn.co/wp-content/uploads/2023/03/hello12-300x137.png 300w" sizes="auto, (max-width: 441px) 100v
1720w, 441px" /><noscript><img width="441" height="202" src="http://s33046.pcdn.co/wp-content/uploads/2023/03/hello12.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="&#039;HELLO&#039;,1,2" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/03/hello12.png 441w, http://s33046.pcdn.co/wp-content/uploads/2023/03/hello12-300x137.png 300w" sizes="auto, (max-width: 441px) 100vw, 441px" /></noscript>
1721						
1722			<h1 class="entry-title entry-title-home">
1723
1724				<a href="https://www.sqlshack.com/understanding-substring-in-oracle-sql/" rel="bookmark">Understanding Substring in Oracle SQL</a>
1725
1726			</h1>
1727			<div class="clearfix"></div>
1728
1729						March 22, 2023			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/arindam/" rel="author">Arindam Mondal</a></span></span>
1730			
1731			
1732
1733		</header><!-- .entry-header -->
1734
1735
1736
1737		
1738		<div class="entry-content">
1739
1740									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/understanding-substring-in-oracle-sql/"></div><p>
1741  The Oracle SQL database provides many useful functions to use with your query or programming. The SUBSTR function is one of the most used string functions in the Oracle SQL database. I will also discuss a few important string functions TRIM, UPPER, and LOWER which can be used along with substring functions. In this article, we will discuss substring in Oracle SQL.
1742</p> <a href="https://www.sqlshack.com/understanding-substring-in-oracle-sql/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/understanding-substring-in-oracle-sql/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
1743		</div><!-- .entry-content -->
1744
1745		
1746
1747
1748		<footer class="entry-meta">
1749
1750			<a href="https://www.sqlshack.com/category/technologies/oracle/" rel="category tag">Oracle</a>
1751			
1752			
1753		</footer><!-- .entry-meta -->
1754		
1755		</div><!-- .home-post -->
1756
1757	</article><!-- #post -->							
1758
1759
1760	<article id="post-81143" class="post-81143 post type-post status-publish format-standard has-post-thumbnail hentry category-mysql category-postgresql">
1761		<div class="avatar">
1762						<span class="avatar-big-picture"> 
1763					<img src="http://s33046.pcdn.co/wp-content/uploads/2021/08/ManvendraSingh80x80_Shack.jpg" alt="Manvendra Singh"> 
1764				</span>
1765					
1766				</div>
1767		<div class="home-post">
1768
1769		
1770		<header class="entry-header">
1771
1772			<img width="624" height="302" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2023/03/compare-postgresql-vs-mysql-624x302.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Compare PostgreSQL vs MySQL" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/03/compare-postgresql-vs-mysql-624x302.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/03/compare-postgresql-vs-mysql-300x145.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/03/compare-postgresql-vs-mysql-768x372.png 768w, http://s33046.pcdn.co/wp-content/uploads/2023/03/compare-postgresql-vs-mysql.png 966w" sizes="auto, (max-width: 624px) 100vw, 624px" /><noscript><img width="624" height="302" src="http://s33046.pcdn.co/wp-content/uploads/2023/03/compare-postgresql-vs-mysql-624x302.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Compare PostgreSQL vs MySQL" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/03/compare-postgresql-vs-mysql-624x302.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/03/compare-postgresql-vs-mysql-300x145.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/03/compare-postgresql-vs-mysql-768x372.png 768w, http://s33046.pcdn.co/wp-content/uploads/2023/03/compare-postgresql-vs-mysql.png 966w" sizes="auto, (max-width: 624px) 100vw, 624px" /></noscript>
1773						
1774			<h1 class="entry-title entry-title-home">
1775
1776				<a href="https://www.sqlshack.com/postgresql-vs-mysql-understanding-their-differences/" rel="bookmark">PostgreSQL vs MySQL: Understanding their differences</a>
1777
1778			</h1>
1779			<div class="clearfix"></div>
1780
1781						March 13, 2023			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/manvendra-singh/" rel="author">Manvendra Singh</a></span></span>
1782			
1783			
1784
1785		</header><!-- .entry-header -->
1786
1787
1788
1789		
1790		<div class="entry-content">
1791
1792									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/postgresql-vs-mysql-understanding-their-differences/"></div><p>
1793  Today, we will compare the two most popular database products PostgreSQL vs MySQL, and explain the differences between them in this article. There are many database systems based on the relations database management system (RDBMS) concept in the market. Some of them are Oracle, SQL Server, MySQL, PostgreSQL, etc. It’s really important to understand the differences between them before selecting any database product for your application. Keeping this in mind, I am writing this article to explain these two database systems i.e., PostgreSQL vs MySQL, and compare them from various aspects so that you can understand them before taking any decision for your requirements.
1794</p> <a href="https://www.sqlshack.com/postgresql-vs-mysql-understanding-their-differences/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/postgresql-vs-mysql-understanding-their-differences/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
1795		</div><!-- .entry-content -->
1796
1797		
1798
1799
1800		<footer class="entry-meta">
1801
1802			<a href="https://www.sqlshack.com/category/technologies/mysql/" rel="category tag">MySQL</a>, <a href="https://www.sqlshack.com/category/technologies/postgresql/" rel="category tag">PostgreSQL</a>
1803			
1804			
1805		</footer><!-- .entry-meta -->
1806		
1807		</div><!-- .home-post -->
1808
1809	</article><!-- #post -->							
1810
1811
1812	<article id="post-81137" class="post-81137 post type-post status-publish format-standard has-post-thumbnail hentry category-sql-database-development category-oracle">
1813		<div class="avatar">
1814						<span class="avatar-big-picture"> 
1815					<img src="http://s33046.pcdn.co/wp-content/uploads/2022/12/randheer.jpg" alt="Randheer Parmar"> 
1816				</span>
1817					
1818				</div>
1819		<div class="home-post">
1820
1821		
1822		<header class="entry-header">
1823
1824			<img width="624" height="399" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2023/03/oracle-database-scalability-oracle-read-replica-2-624x399.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Oracle Database Scalability, Oracle Read Replica, Oracle Database Sharding" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/03/oracle-database-scalability-oracle-read-replica-2-624x399.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/03/oracle-database-scalability-oracle-read-replica-2-300x192.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/03/oracle-database-scalability-oracle-read-replica-2-1024x655.png 1024w, http://s33046.pcdn.co/wp-content/uploads/2023/03/oracle-database-scalability-oracle-read-replica-2-768x491.png 768w, http://s33046.pcdn.co/wp-content/uploads/2023/03/oracle-database-scalability-oracle-read-replica-2-1536x983.png 1536w, http://s33046.pcdn.co/wp-content/uploads/2023/03/oracle-database-scalability-oracle-read-replica-2.png 1555w" sizes="auto, (max-width: 624px) 100vw, 624px" /><noscript><img width="624" height="399" src="http://s33046.pcdn.co/wp-content/uploads/2023/03/oracle-database-scalability-oracle-read-replica-2-624x399.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Oracle Database Scalability, Oracle Read Replica, Oracle Database Sharding" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/03/oracle-database-scalability-oracle-read-replica-2-624x399.png 624w, http://s33046.pcdn.co/wp-content/uploads/2023/03/oracle-database-scalability-oracle-read-replica-2-300x192.png 300w, http://s33046.pcdn.co/wp-content/uploads/2023/03/oracle-database-scalability-oracle-read-replica-2-1024x655.png 1024w, http://s33046.pcdn.co/wp-content/uploads/2023/03/oracle-database-scalability-oracle-read-replica-2-768x491.png 768w, http://s33046.pcdn.co/wp-content/uploads/2023/03/oracle-database-scalability-oracle-read-replica-2-1536x983.png 1536w, http://s33046.pcdn.co/wp-content/uploads/2023/03/oracle-database-scalability-oracle-read-replica-2.png 1555w" sizes="auto, (max-width: 624px) 100vw, 624px" /></noscript>
1825						
1826			<h1 class="entry-title entry-title-home">
1827
1828				<a href="https://www.sqlshack.com/understanding-the-scalability-in-oracle-database/" rel="bookmark">Understanding the Scalability in Oracle Database</a>
1829
1830			</h1>
1831			<div class="clearfix"></div>
1832
1833						March 9, 2023			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/randheer/" rel="author">Randheer Parmar</a></span></span>
1834			
1835			
1836
1837		</header><!-- .entry-header -->
1838
1839
1840
1841		
1842		<div class="entry-content">
1843
1844									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/understanding-the-scalability-in-oracle-database/"></div><p>
1845  When an application grows the associated database grows automatically. It needs to be scaled to a larger machine or server and overall configuration needs to be increased to handle the application and database performance requirement.
1846</p> <a href="https://www.sqlshack.com/understanding-the-scalability-in-oracle-database/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/understanding-the-scalability-in-oracle-database/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
1847		</div><!-- .entry-content -->
1848
1849		
1850
1851
1852		<footer class="entry-meta">
1853
1854			<a href="https://www.sqlshack.com/category/sql-database-development/" rel="category tag">Database development</a>, <a href="https://www.sqlshack.com/category/technologies/oracle/" rel="category tag">Oracle</a>
1855			
1856			
1857		</footer><!-- .entry-meta -->
1858		
1859		</div><!-- .home-post -->
1860
1861	</article><!-- #post -->							
1862
1863
1864	<article id="post-81124" class="post-81124 post type-post status-publish format-standard has-post-thumbnail hentry category-t-sql">
1865		<div class="avatar">
1866						<span class="avatar-big-picture"> 
1867					<img src="http://s33046.pcdn.co/wp-content/uploads/2023/02/hadi-fadlallah.jpg" alt="Hadi Fadlallah"> 
1868				</span>
1869					
1870				</div>
1871		<div class="home-post">
1872
1873		
1874		<header class="entry-header">
1875
1876			<img width="601" height="498" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://s33046.pcdn.co/wp-content/uploads/2023/03/sql-insert-multiple-rows-using-insert-into-select.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="SQL Insert multiple rows using INSERT INTO SELECT command" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/03/sql-insert-multiple-rows-using-insert-into-select.png 601w, http://s33046.pcdn.co/wp-content/uploads/2023/03/sql-insert-multiple-rows-using-insert-into-select-300x249.png 300w" sizes="auto, (max-width: 601px) 100v
1876w, 601px" /><noscript><img width="601" height="498" src="http://s33046.pcdn.co/wp-content/uploads/2023/03/sql-insert-multiple-rows-using-insert-into-select.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="SQL Insert multiple rows using INSERT INTO SELECT command" decoding="async" loading="lazy" srcset="http://s33046.pcdn.co/wp-content/uploads/2023/03/sql-insert-multiple-rows-using-insert-into-select.png 601w, http://s33046.pcdn.co/wp-content/uploads/2023/03/sql-insert-multiple-rows-using-insert-into-select-300x249.png 300w" sizes="auto, (max-width: 601px) 100vw, 601px" /></noscript>
1877						
1878			<h1 class="entry-title entry-title-home">
1879
1880				<a href="https://www.sqlshack.com/learn-sql-insert-multiple-rows-commands/" rel="bookmark">Learn SQL: Insert multiple rows commands</a>
1881
1882			</h1>
1883			<div class="clearfix"></div>
1884
1885						March 6, 2023			<span class="by-author"> by <span class="author vcard"><a class="url fn n" href="https://www.sqlshack.com/author/hadi/" rel="author">Hadi Fadlallah</a></span></span>
1886			
1887			
1888
1889		</header><!-- .entry-header -->
1890
1891
1892
1893		
1894		<div class="entry-content">
1895
1896									<div class="at-above-post-homepage addthis_tool" data-url="https://www.sqlshack.com/learn-sql-insert-multiple-rows-commands/"></div><p>
1897  This article explains the different approaches used to insert multiple rows into SQL Server tables.
1898</p> <a href="https://www.sqlshack.com/learn-sql-insert-multiple-rows-commands/" class="more-link">Read more &raquo;</a><!-- AddThis Advanced Settings above via filter on the_content --><!-- AddThis Advanced Settings below via filter on the_content --><!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons above via filter on the_content --><!-- AddThis Share Buttons below via filter on the_content --><div class="at-below-post-homepage addthis_tool" data-url="https://www.sqlshack.com/learn-sql-insert-multiple-rows-commands/"></div><!-- AddThis Share Buttons generic via filter on the_content -->			
1899		</div><!-- .entry-content -->
1900
1901		
1902
1903
1904		<footer class="entry-meta">
1905
1906			<a href="https://www.sqlshack.com/category/languages-and-coding/t-sql/" rel="category tag">T-SQL</a>
1907			
1908			
1909		</footer><!-- .entry-meta -->
1910		
1911		</div><!-- .home-post -->
1912
1913	</article><!-- #post -->			
1914			
1915				
1916		
1917			<div class='wp-pagenavi' role='navigation'>
1918<span class='pages'>Page 1 of 105</span><span aria-current='page' class='current'>1</span><a class="page larger" title="Page 2" href="https://www.sqlshack.com/page/2/">2</a><a class="page larger" title="Page 3" href="https://www.sqlshack.com/page/3/">3</a><a class="page larger" title="Page 4" href="https://www.sqlshack.com/page/4/">4</a><a class="page larger" title="Page 5" href="https://www.sqlshack.com/page/5/">5</a><span class='extend'>...</span><a class="larger page" title="Page 10" href="https://www.sqlshack.com/page/10/">10</a><a class="larger page" title="Page 20" href="https://www.sqlshack.com/page/20/">20</a><a class="larger page" title="Page 30" href="https://www.sqlshack.com/page/30/">30</a><span class='extend'>...</span><a class="nextpostslink" rel="next" aria-label="Next Page" href="https://www.sqlshack.com/page/2/">&raquo;</a><a class="last" aria-label="Last Page" href="https://www.sqlshack.com/page/105/">Last &raquo;</a>
1919</div>
1920			<br />
1921
1922		
1923	
1924		
1925		</div><!-- #content -->
1926	</div><!-- #primary -->
1927
1928
1929			<div id="secondary" class="widget-area" role="complementary">
1930			<aside id="custom_html-4" class="widget_text widget widget_custom_html"><h3 class="widget-title">Follow us!</h3><div class="textwidget custom-html-widget"><div class="g g-6" style="margin: 0px 0px 30px 15px; "><a style="margin: 5px 15px 5px 0px;" href="https://twitter.com/SQLShack" target="_blank"><i style="color: grey;" class="fa fa-twitter fa-2x social_icons_tw" aria-hidden="true"></i></a><a style="margin: 5px 15px 5px 5px;" href="https://www.facebook.com/SQLShack/" target="_blank"><i style="color: grey;" class="fa fa-facebook fa-2x social_icons_fb" aria-hidden="true"></i></a><a style="margin: 5px 15px 5px 5px;" href="https://www.linkedin.com/company/sql-shack/" target="_blank"><i style="color: grey;" class="fa fa-linkedin fa-2x social_icons_ln" aria-hidden="true"></i></a></div></div></aside><aside id="text-10" class="widget widget_text">			<div class="textwidget"><p><a href="https://www.quest.com/products/shareplex/?utm_source=sql_shack&amp;utm_medium=Direct-Outbound%20Marketing&amp;utm_campaign=FY2024_Q2_AMER_SharePlex_SQLShack_ADV&amp;utm_term=&amp;utm_content=banner" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="aligncenter wp-image-81551 size-full" src="http://s33046.pcdn.co/wp-content/uploads/2023/08/MediaBanner-Shareplex-300x250-IM-JY-79545.gif" alt="" width="300" height="250" /></a></p>
1931</div>
1932		</aside><aside id="custom_html-3" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><!-- <div class="g g-6" style="margin-top: 30px"><a href="/sql-server-training/"><i class="fa fa-gears fa-2x" aria-hidden="true" style="padding-right: 0.4em; vertical-align: center !important; color:#252525;"></i><span class="widget-title" style="vertical-align: center !important; color:#252525 !important">SQL Server training</span></a> -->
1933<!-- <ul class="popular-posts" style="list-style-type: none;">
1934<li><a href="/sql-server-basics/">Basic</a></li>  
1935</ul> -->
1936<!-- </div> --></div></aside><aside id="block-6" class="widget widget_block"><div class="popular-posts"><h3 class="widget-title">Popular</h3><ul class="wpp-list">
1937<li class=""> <a href="https://www.sqlshack.com/sql-partition-by-clause-overview/" class="wpp-post-title" target="_self">SQL PARTITION BY Clause overview</a> <span class="wpp-meta post-stats"></span></li>
1938<li class=""> <a href="https://www.sqlshack.com/sql-convert-date-functions-and-formats/" class="wpp-post-title" target="_self">SQL Convert Date functions and formats</a> <span class="wpp-meta post-stats"></span></li>
1939<li class=""> <a href="https://www.sqlshack.com/how-to-identify-and-resolve-sql-server-index-fragmentation/" class="wpp-post-title" target="_self">
1939How to identify and resolve SQL Server Index Fragmentation</a> <span class="wpp-meta post-stats"></span></li>
1940<li class=""> <a href="https://www.sqlshack.com/recover-lost-sa-password/" class="wpp-post-title" target="_self">Recover a lost SA password</a> <span class="wpp-meta post-stats"></span></li>
1941<li class=""> <a href="https://www.sqlshack.com/sql-percentage-calculation-examples-in-sql-server/" class="wpp-post-title" target="_self">SQL percentage calculation examples in SQL Server</a> <span class="wpp-meta post-stats"></span></li>
1942<li class=""> <a href="https://www.sqlshack.com/sql-variables-basics-and-usage/" class="wpp-post-title" target="_self">SQL Variables: Basics and usage</a> <span class="wpp-meta post-stats"></span></li>
1943<li class=""> <a href="https://www.sqlshack.com/understanding-the-sql-merge-statement/" class="wpp-post-title" target="_self">Understanding the SQL MERGE statement</a> <span class="wpp-meta post-stats"></span></li>
1944<li class=""> <a href="https://www.sqlshack.com/understanding-impact-clr-strict-security-configuration-setting-sql-server-2017/" class="wpp-post-title" target="_self">SQL Server table hints – WITH (NOLOCK) best practices</a> <span class="wpp-meta post-stats"></span></li>
1945<li class=""> <a href="https://www.sqlshack.com/sql-cross-join-with-examples/" class="wpp-post-title" target="_self">SQL CROSS JOIN with examples</a> <span class="wpp-meta post-stats"></span></li>
1946<li class=""> <a href="https://www.sqlshack.com/the-table-variable-in-sql-server/" class="wpp-post-title" target="_self">The Table Variable in SQL Server</a> <span class="wpp-meta post-stats"></span></li>
1947<li class=""> <a href="https://www.sqlshack.com/overview-of-sql-rank-functions/" class="wpp-post-title" target="_self">Overview of SQL RANK functions</a> <span class="wpp-meta post-stats"></span></li>
1948<li class=""> <a href="https://www.sqlshack.com/implementing-slowly-changing-dimensions-scds-in-data-warehouses/" class="wpp-post-title" target="_self">Implementing Slowly Changing Dimensions (SCDs) in Data Warehouses</a> <span class="wpp-meta post-stats"></span></li>
1949<li class=""> <a href="https://www.sqlshack.com/sql-multiple-joins-for-beginners-with-examples/" class="wpp-post-title" target="_self">SQL multiple joins for beginners with examples</a> <span class="wpp-meta post-stats"></span></li>
1950<li class=""> <a href="https://www.sqlshack.com/how-to-update-from-a-select-statement-in-sql-server/" class="wpp-post-title" target="_self">How to UPDATE from a SELECT statement in SQL Server</a> <span class="wpp-meta post-stats"></span></li>
1951<li class=""> <a href="https://www.sqlshack.com/sql-server-transaction-log-backup-truncate-and-shrink-operations/" class="wpp-post-title" target="_self">SQL Server Transaction Log Backup, Truncate and Shrink Operations</a> <span class="wpp-meta post-stats"></span></li>
1952<li class=""> <a href="https://www.sqlshack.com/page-life-expectancy-ple-in-sql-server/" class="wpp-post-title" target="_self">Page Life Expectancy (PLE) in SQL Server</a> <span class="wpp-meta post-stats"></span></li>
1953<li class=""> <a href="https://www.sqlshack.com/delete-cascade-and-update-cascade-in-sql-server-foreign-key/" class="wpp-post-title" target="_self">DELETE CASCADE and UPDATE CASCADE in SQL Server foreign key</a> <span class="wpp-meta post-stats"></span></li>
1954<li class=""> <a href="https://www.sqlshack.com/select-into-temp-table-statement-in-sql-server/" class="wpp-post-title" target="_self">SELECT INTO TEMP TABLE statement in SQL Server</a> <span class="wpp-meta post-stats"></span></li>
1955<li class=""> <a href="https://www.sqlshack.com/learn-sql-naming-conventions/" class="wpp-post-title" target="_self">Learn SQL: Naming Conventions</a> <span class="wpp-meta post-stats"></span></li>
1956<li class=""> <a href="https://www.sqlshack.com/pagination-in-sql-server/" class="wpp-post-title" target="_self">Pagination in SQL Server</a> <span class="wpp-meta post-stats"></span></li>
1957
1958</ul></div></aside><aside id="block-7" class="widget widget_block widget_media_image">
1959<figure class="wp-block-image size-full"><a href="https://shop.quest.com/682/purl-toad-for-sql-server?x-adcode=sqlshkrr" target="_blank"><img loading="lazy" decoding="async" width="300" height="400" src="http://s33046.pcdn.co/wp-content/uploads/2024/06/Mediabanner-SQLShack-IM-JY-89713.png" alt="" class="wp-image-81595" srcset="http://s33046.pcdn.co/wp-content/uploads/2024/06/Mediabanner-SQLShack-IM-JY-89713.png 300w, http://s33046.pcdn.co/wp-content/uploads/2024/06/Mediabanner-SQLShack-IM-JY-89713-225x300.png 225w" sizes="auto, (max-width: 300px) 100v
1959w, 300px" /></a></figure>
1960</aside><aside id="block-8" class="widget widget_block">
1961<h2 class="wp-block-heading">Trending</h2>
1962</aside><aside id="block-9" class="widget widget_block">
1963<ul class="wp-block-list">
1964<li><a href="/sql-server-transaction-log-backup-truncate-and-shrink-operations/">SQL Server Transaction Log Backup, Truncate and Shrink Operations</a></li>
1965
1966
1967
1968<li><a href="/six-different-methods-to-copy-tables-between-databases-in-sql-server/">Six different methods to copy tables between databases in SQL Server</a></li>
1969
1970
1971
1972<li><a href="/how-to-implement-error-handling-in-sql-server/">How to implement error handling in SQL Server</a></li>
1973
1974
1975
1976<li><a href="/working-sql-server-command-line-sqlcmd/">Working with the SQL Server command line (sqlcmd)</a></li>
1977
1978
1979
1980<li><a href="/methods-to-avoid-sql-divide-by-zero-error/">Methods to avoid the SQL divide by zero error</a></li>
1981
1982
1983
1984<li><a href="/query-optimization-techniques-in-sql-server-tips-and-tricks/">Query optimization techniques in SQL Server: tips and tricks</a></li>
1985
1986
1987
1988<li><a href="/how-to-create-and-configure-a-linked-server-in-sql-server-management-studio/">How to create and configure a linked server in SQL Server Management Studio</a></li>
1989
1990
1991
1992<li><a href="/replace-ascii-special-characters-sql-server/">SQL replace: How to replace ASCII special characters in SQL Server</a></li>
1993
1994
1995
1996<li><a href="/how-to-identify-slow-running-queries-in-sql-server/">How to identify slow running queries in SQL Server</a></li>
1997
1998
1999
2000<li><a href="/sql-varchar-data-type-deep-dive/">SQL varchar data type deep dive</a></li>
2001
2002
2003
2004<li><a href="/implement-array-like-functionality-sql-server/">How to implement array-like functionality in SQL Server</a></li>
2005
2006
2007
2008<li><a href="/locking-sql-server/">All about locking in SQL Server</a></li>
2009
2010
2011
2012<li><a href="/sql-server-stored-procedures-for-beginners/">SQL Server stored procedures for beginners</a></li>
2013
2014
2015
2016<li><a href="/database-table-partitioning-sql-server/">Database table partitioning in SQL Server</a></li>
2017
2018
2019
2020<li><a href="/how-to-drop-temp-tables-in-sql-server/">How to drop temp tables in SQL Server</a></li>
2021
2022
2023
2024<li><a href="/how-to-determine-free-space-and-file-size-for-sql-server-databases/">How to determine free space and file size for SQL Server databases</a></li>
2025
2026
2027
2028<li><a href="/powershell-split-a-string-into-an-array/">Using PowerShell to split a string into an array</a></li>
2029
2030
2031
2032<li><a href="/kill-spid-command-in-sql-server/">KILL SPID command in SQL Server</a></li>
2033
2034
2035
2036<li><a href="/how-to-install-sql-server-express-edition/">How to install SQL Server Express edition</a></li>
2037
2038
2039
2040<li><a href="/sql-union-overview-usage-and-examples/">SQL Union overview, usage and examples</a></li>
2041</ul>
2042</aside><aside id="block-5" class="widget widget_block"><p><a href="https://www.quest.com/webcast-ondemand/optimize-queries-quickly-and-easily/?utm_source=sql_shack&utm_medium=Direct-Outbound%20Marketing&utm_campaign=FY2024_Q2_AMER_Foglight_SQLShack_ADV&utm_term=&utm_content=banner" target="_blank"><img decoding="async" src="http://s33046.pcdn.co/wp-content/uploads/2023/08/MediaBanner-Foglight-300x250-IM-JY-79545.gif" alt="Foglight banner"></a></p></aside><aside id="block-3" class="widget widget_block">
2043<h2 class="wp-block-heading">Solutions</h2>
2044</aside><aside id="block-4" class="widget widget_block">
2045<ul class="wp-block-list">
2046<li><a href="https://solutioncenter.apexsql.com/read-a-sql-server-transaction-log/" target="_blank" rel="noopener">Read a SQL Server transaction log</a></li>
2047
2048
2049
2050<li><a class="wpp-post-title" href="https://solutioncenter.apexsql.com/sql-server-database-auditing-techniques/" target="_blank" rel="noopener">SQL Server database auditing techniques</a></li>
2051
2052
2053
2054<li><a href="https://solutioncenter.apexsql.com/sql-server-data-recovery-from-update-and-delete/" target="_blank" rel="noopener">How to recover SQL Server data from accidental UPDATE and DELETE operations</a></li>
2055
2056
2057
2058<li><a class="wpp-post-title" href="https://solutioncenter.apexsql.com/quickly-search-for-sql-database-data-and-objects/" target="_blank" rel="noopener">How to quickly search for SQL database data and objects</a></li>
2059
2060
2061
2062<li><a class="wpp-post-title" href="https://solutioncenter.apexsql.com/synchronize-sql-server-databases-in-different-remote-sources/" target="_blank" rel="noopener">Synchronize SQL Server databases in different remote sources</a></li>
2063
2064
2065
2066<li><a class="wpp-post-title" href="https://solutioncenter.apexsql.com/rollback-drop-table-statement-without-backups/" target="_blank" rel="noopener">Recover SQL data from a dropped table without backups</a></li>
2067
2068
2069
2070<li><a class="wpp-post-title" href="https://solutioncenter.apexsql.com/how-to-restore-specific-tables-from-a-sql-server-database-backup/" target="_blank" rel="noopener">How to restore specific table(s) from a SQL Server database backup</a></li>
2071
2072
2073
2074<li><a class="wpp-post-title" href="https://solutioncenter.apexsql.com/recover-deleted-sql-data-from-transaction-logs/" target="_blank" rel="noopener">Recover deleted SQL data from transaction logs</a></li>
2075
2076
2077
2078<li><a class="wpp-post-title" href="https://solutioncenter.apexsql.com/recover-sql-server-data-from-accidental-updates/" target="_blank" rel="noopener">How to recover SQL Server data from accidental updates without backups</a></li>
2079
2080
2081
2082<li><a class="wpp-post-title" href="https://solutioncenter.apexsql.com/automatically-compare-and-synchronize-sql-server-data/" target="_blank" rel="noopener">Automatically compare and synchronize SQL Server data</a></li>
2083
2084
2085
2086<li><a class="wpp-post-title" href="https://solutioncenter.apexsql.com/open-ldf-file-and-view-ldf-file-content/" target="_blank" rel="noopener">Open LDF file and view LDF file content</a></li>
2087
2088
2089
2090<li><a class="wpp-post-title" href="https://solutioncenter.apexsql.com/sql-formatter-to-quickly-convert-sql-code/" target="_blank" rel="noopener">Quickly convert SQL code to language-specific client code</a></li>
2091
2092
2093
2094<li><a class="wpp-post-title" href="https://solutioncenter.apexsql.com/how-to-recover-a-single-table-from-a-sql-server-database-backup/" target="_blank" rel="noopener">How to recover a single table from a SQL Server database backup</a></li>
2095
2096
2097
2098<li><a class="wpp-post-title" href="https://solutioncenter.apexsql.com/rollback-truncate-operation-without-backups/" target="_blank" rel="noopener">Recover data lost due to a TRUNCATE operation without backups</a></li>
2099
2100
2101
2102<li><a class="wpp-post-title" href="https://solutioncenter.apexsql.com/recover-sql-server-data-from-delete-truncate-drop/ " target="_blank" rel="noopener">How to recover SQL Server data from accidental DELETE, TRUNCATE and DROP operations</a></li>
2103
2104
2105
2106<li><a class="wpp-post-title" href="https://solutioncenter.apexsql.com/reverting-your-sql-server-database-back-to-a-specific-point-in-time/" target="_blank" rel="noopener">Reverting your SQL Server database back to a specific point in t
2106ime</a></li>
2107
2108
2109
2110<li><a class="wpp-post-title" href="https://solutioncenter.apexsql.com/how-to-create-ssis-package-documentation/" target="_blank" rel="noopener">How to create SSIS package documentation</a></li>
2111
2112
2113
2114<li><a class="wpp-post-title" href="https://solutioncenter.apexsql.com/restore-sql-server-backup-to-a-newer-version-of-sql-server/" target="_blank" rel="noopener">Migrate a SQL Server database to a newer version of SQL Server</a></li>
2115
2116
2117
2118<li><a class="wpp-post-title" href="https://solutioncenter.apexsql.com/restore-sql-server-database-backup-to-older-version-of-sql-server/ " target="_blank" rel="noopener">How to restore a SQL Server database backup to an older version of SQL Server</a></li>
2119</ul>
2120</aside><aside id="custom_html-2" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><i class="fa fa-tachometer  fa-2x" aria-hidden="true" style="padding-right: 0.4em; vertical-align: center !important; color:#252525;"></i><span class="widget-title" style="vertical-align: center !important; color:#252525 !important">Helpers and best practices</span>
2121<ul class="popular-posts" style="list-style-type: none;">
2122<li><a href="/bi-performance-counters/">BI performance counters</a></li>	
2123<li><a href="/sql-code-smells-rules/">SQL code smells rules</a></li>
2124<li><a href="/sql-server-wait-types/">SQL Server wait types</a></li>
2125</ul></div></aside>		</div><!-- #secondary -->
2126	
2127
2128
2129	</div><!-- #main .wrapper -->
2130
2131
2132
2133	<footer id="colophon" role="contentinfo" style="padding-bottom:0px;">
2134
2135		<!--<div class="main-footer-navigation">
2136			<div class="nav-menu"><ul>
2137<li class="current_page_item"><a href="https://www.sqlshack.com/">Home</a></li><li class="page_item page-item-6"><a href="https://www.sqlshack.com/about-us/">About us</a></li>
2138<li class="page_item page-item-7944"><a href="https://www.sqlshack.com/sql-server-wait-type-async-diskpool-lock/">ASYNC_DISKPOOL_LOCK</a></li>
2139<li class="page_item page-item-7985"><a href="https://www.sqlshack.com/sql-server-wait-type-async-io-completion/">ASYNC_IO_COMPLETION</a></li>
2140<li class="page_item page-item-8131"><a href="https://www.sqlshack.com/sql-server-wait-type-async-network-io/">ASYNC_NETWORK_IO</a></li>
2141<li class="page_item page-item-8134"><a href="https://www.sqlshack.com/sql-server-wait-type-async-op-completion/">ASYNC_OP_COMPLETION</a></li>
2142<li class="page_item page-item-45103"><a href="https://www.sqlshack.com/author-writing-guidance/">Author writing guidance</a></li>
2143<li class="page_item page-item-7951"><a href="https://www.sqlshack.com/sql-server-wait-type-backup/">BACKUP</a></li>
2144<li class="page_item page-item-7990"><a href="https://www.sqlshack.com/sql-server-wait-type-backup-operator/">BACKUP_OPERATOR</a></li>
2145<li class="page_item page-item-8138"><a href="https://www.sqlshack.com/sql-server-wait-type-backupbuffer/">BACKUPBUFFER</a></li>
2146<li class="page_item page-item-8141"><a href="https://www.sqlshack.com/sql-server-wait-type-backupio/">BACKUPIO</a></li>
2147<li class="page_item page-item-8145"><a href="https://www.sqlshack.com/sql-server-wait-type-backupthread/">BACKUPTHREAD</a></li>
2148<li class="page_item page-item-25013"><a href="https://www.sqlshack.com/bi-performance-counter-percent-of-free-space/">BI performance counter: % Free Space</a></li>
2149<li class="page_item page-item-25015"><a href="https://www.sqlshack.com/bi-performance-counter-percent-of-processor-time/">BI performance counter: % Processor Time</a></li>
2150<li class="page_item page-item-25017"><a href="https://www.sqlshack.com/bi-performance-counter-active-connections/">BI performance counter: Active Connections</a></li>
2151<li class="page_item page-item-25019"><a href="https://www.sqlshack.com/bi-performance-counter-active-sessions-web-service/">BI performance counter: Active Sessions &#8211; Web service</a></li>
2152<li class="page_item page-item-25021"><a href="https://www.sqlshack.com/bi-performance-counter-active-sessions-windows-service/">BI performance counter: Active Sessions &#8211; Windows service</a></li>
2153<li class="page_item page-item-25023"><a href="https://www.sqlshack.com/bi-performance-counter-aggcachekb/">BI performance counter: AggCacheKB</a></li>
2154<li class="page_item page-item-25026"><a href="https://www.sqlshack.com/bi-performance-counter-available-mbytes/">BI performance counter: Available MBytes</a></li>
2155<li class="page_item page-item-25028"><a href="https://www.sqlshack.com/bi-performance-counter-avg-disk-bytes-per-read/">BI performance counter: Avg. Disk Bytes/Read</a></li>
2156<li class="page_item page-item-25030"><a href="https://www.sqlshack.com/bi-performance-counter-avg-disk-bytes-per-write/">BI performance counter: Avg. Disk Bytes/Write</a></li>
2157<li class="page_item page-item-25032"><a href="https://www.sqlshack.com/bi-performance-counter-avg-disk-queue-length/">BI performance counter: Avg. Disk Queue Length</a></li>
2158<li class="page_item page-item-25034"><a href="https://www.sqlshack.com/bi-performance-counter-avg-disk-sec-per-read/">BI performance counter: Avg. Disk sec/Read</a></li>
2159<li class="page_item page-item-25036"><a href="https://www.sqlshack.com/bi-performance-counter-avg-disk-sec-per-write/">BI performance counter: Avg. Disk sec/Write</a></li>
2160<li class="page_item page-item-25135"><a href="https://www.sqlshack.com/bi-performance-counter-blob-bytes-read/">BI performance counter: BLOB bytes read</a></li>
2161<li class="page_item page-item-25143"><a href="https://www.sqlshack.com/bi-performance-counter-blob-bytes-written/">BI performance counter: BLOB bytes written</a></li>
2162<li class="page_item page-item-25147"><a href="https://www.sqlshack.com/bi-performance-counter-blob-files-in-use/">BI performance counter: BLOB files in use</a></li>
2163<li class="page_item page-item-25153"><a href="https://www.sqlshack.com/bi-performance-counter-buffer-memory/">BI performance counter: Buffer memory</a></li>
2164<li class="page_item page-item-25158"><a href="https://www.sqlshack.com/bi-performance-counter-buffers-in-use/">BI performance counter: Buffers in use</a></li>
2165<li class="page_item page-item-25162"><a href="https://www.sqlshack.com/bi-performance-counter-buffers-spooled/">BI performance counter: Buffers spooled</a></li>
2166<li class="page_item page-item-25166"><a href="https://www.sqlshack.com/bi-performance-counter-bytes-received-total/">BI performance counter: Bytes Received Total</a></li>
2167<li class="page_item page-item-25172"><a href="https://www.sqlshack.com/bi-performance-counter-bytes-sent-total/">BI performance counter: Bytes Sent Total</a></li>
2168<li class="page_item page-item-25237"><a href="https://www.sqlshack.com/bi-performance-counter-cleaner-memory-kb/">BI performance counter: Cleaner Memory KB</a></li>
2169<li class="page_item page-item-25243"><a href="https://www.sqlshack.com/bi-performance-counter-concurrent-dm-queries/">BI performance counter: Concurrent DM queries</a></li>
2170<li class="page_item page-item-25248"><a href="https://www.sqlshack.com/bi-performance-counter-current-connections/">BI performance counter: Current connections</a></li>
2171<li class="page_item page-item-25252"><a href="https://www.sqlshack.com/bi-performance-counter-current-disk-queue-length/">BI performance counter: Current Disk Queue Length</a></li>
2172<li class="page_item page-item-25256"><a href="https://www.sqlshack.com/bi-performance-counter-current-entries/">BI performance counter: Current entries</a></li>
2173<li class="page_item page-item-25259"><a href="https://www.sqlshack.com/bi-performance-counter-current-kb/">BI performance counter: Current KB</a></li>
2174<li class="page_item page-item-25262"><a href="https://www.sqlshack.com/bi-performance-counter-current-latch-waits/">BI performance counter: Current latch waits</a></li>
2175<li class="page_item page-item-25265"><a href="https://www.sqlshack.com/bi-performance-counter-current-lock-waits/">BI performance counter: Current lock waits</a></li>
2176<li class="page_item page-item-25269"><a href="https://www.sqlshack.com/bi-performance-counter-current-locks/">BI performance counter: Current locks</a></li>
2177<li class="page_item page-item-25275"><a href="https://www.sqlshack.com/bi-performance-counter-current-models-processing/">BI performance counter: Current models processing</a></li>
2178<li class="page_item page-item-25279"><a href="https://www.sqlshack.com/bi-performance-counter-current-number-of-cached-evaluation-nodes/">BI performance counter: Current number of cached evaluation nodes</a></li>
2179<li class="page_item page-item-25282"><a href="https://www.sqlshack.com/bi-performance-counter-current-user-sessions/">BI performance counter: Current user sessions</a></li>
2180<li class="page_item page-item-25286"><a href="https://www.sqlshack.com/bi-performance-counter-dimension-property-files/">BI performance counter: Dimension Property Files</a></li>
2181<li class="page_item page-item-25292"><a href="https://www.sqlshack.com/bi-performance-counter-disk-read-bytes-per-sec/">BI performance counter: Disk Read Bytes/sec</a></li>
2182<li class="page_item page-item-25295"><a href="https://www.sqlshack.com/bi-performance-counter-disk-write-bytes-per-sec/">BI performance counter: Disk Write Bytes/sec</a></li>
2183<li class="page_item page-item-25299"><a href="https://www.sqlshack.com/bi-performance-counter-flat-buffer-memory/">BI performance counter: Flat buffer memory</a></li>
2184<li class="page_item page-item-25303"><a href="https://www.sqlshack.com/bi-performance-counter-flat-buffers-use/">BI performance counter: Flat buffers in use</a></li>
2185<li class="page_item page-item-25307"><a href="https://www.sqlshack.com/bi-performance-counter-logon-successes-total/">BI performance counter: Logon Successes Total</a></li>
2186<li class="page_item page-item-25310"><a href="https://www.sqlshack.com/bi-performance-counter-long-parsing-job-queue-length/">BI performance counter: Long parsing job queue length</a></li>
2187<li class="page_item page-item-25314"><a href="https://www.sqlshack.com/bi-performance-counter-memory-limit-hard-kb/">BI performance counter: Memory Limit Hard KB</a></li>
2188<li class="page_item page-item-25317"><a href="https://www.sqlshack.com/bi-performance-counter-memory-pressure-state/">BI performance counter: Memory Pressure State</a></li>
2189<li class="page_item page-item-25321"><a href="https://www.sqlshack.com/bi-performance-counter-memory-size-bytes/">BI performance counter: Memory size bytes</a></li>
2190<li class="page_item page-item-25324"><a href="https://www.sqlshack.com/bi-performance-counter-memory-size-rows/">BI performance counter: Memory size rows</a></li>
2191<li class="page_item page-item-25328"><a href="https://www.sqlshack.com/bi-performance-counter-memory-usage-kb/">BI performance counter: Memory Usage KB</a></li>
2192<li class="page_item page-item-25331"><a href="https://www.sqlshack.com/bi-performance-counter-notifications-per-sec/">BI performance counter: Notifications/sec</a></li>
2193<li class="page_item page-item-25334"><a href="https://www.sqlshack.com/bi-performance-counter-page-file-percent-of-usage/">BI performance counter: Page File % Usage</a></li>
2194<li class="page_item page-item-25338"><a href="https://www.sqlshack.com/bi-performance-counter-page-per-sec/">BI performance counter: Page/sec</a></li>
2195<li class="page_item page-item-25341"><a href="https://www.sqlshack.com/bi-performance-counter-pages-input-per-sec/">BI performance counter: Pages Input/sec</a></li>
2196<li class="page_item page-item-25345"><a href="https://www.sqlshack.com/bi-performance-counter-private-buffer-memory/">BI performance counter: Private buffer memory</a></li>
2197<li class="page_item page-item-25348"><a href="https://www.sqlshack.com/bi-performance-counter-private-buffers-use/">BI performance counter: Private buffers in use</a></li>
2198<li class="page_item page-item-25352"><a href="https://www.sqlshack.com/bi-performance-counter-private-bytes/">BI performance counter: Private Bytes</a></li>
2199<li class="page_item page-item-25355"><a href="https://www.sqlshack.com/bi-performance-counter-processing-pool-io-job-queue-length/">BI performance counter: Processing pool IO job queue length</a></li>
2200<li class="page_item page-item-25358"><a href="https://www.sqlshack.com/bi-performance-counter-processing-pool-job-rate/">BI performance counter: Processing pool job rate</a></li>
2201<li class="page_item page-item-25361"><a href="https://www.sqlshack.com/bi-performance-counter-processor-queue-length/">BI performance counter: Processor Queue Length</a></li>
2202<li class="page_item page-item-25364"><a href="https://www.sqlshack.com/bi-performance-counter-query-pool-job-queue-length/">BI performance counter: Query pool job queue length</a></li>
2203<li class="page_item page-item-25367"><a href="https://www.sqlshack.com/bi-performance-counter-query-pool-job-rate/">BI performance counter: Query pool job rate</a></li>
2204<li class="page_item page-item-25370"><a href="https://www.sqlshack.com/bi-performance-counter-quota-kb/">BI performance counter: Quota KB</a></li>
2205<li class="page_item page-item-25373"><a href="https://www.sqlshack.com/bi-performance-counters-report-requests-web-service/">BI performance counter: Report Requests &#8211; Web service</a></li>
2206<li class="page_item page-item-25377"><a href="https://www.sqlshack.com/bi-performance-counter-report-requests-windows-service/">BI performance counter: Report Requests &#8211; Windows service</a></li>
2207<li class="page_item page-item-25381"><a href="https://www.sqlshack.com/bi-performance-counter-requests-executing/">BI performance counter: Requests Executing</a></li>
2208<li class="page_item page-item-25384"><a href="https://www.sqlshack.com/bi-performance-counter-requests-total/">BI performance counter: Requests Total</a></li>
2209<li class="page_item page-item-25387"><a href="https://www.sqlshack.com/bi-performance-counter-rows-read/">BI performance counter: Rows read</a></li>
2210<li class="page_item page-item-25391"><a href="https://www.sqlshack.com/bi-performance-counter-rows-written/">BI performance counter: Rows written</a></li>
2211<li class="page_item page-item-25395"><a href="https://www.sqlshack.com/bi-performance-counter-short-parsing-job-queue/">BI performance counter: Short parsing job queue</a></li>
2212<li class="page_item page-item-25399"><a href="https://www.sqlshack.com/bi-performance-counter-ssis-package-instances/">BI performance counter: SSIS Package Instances</a></li>
2213<li class="page_item page-item-25403"><a href="https://www.sqlshack.com/bi-performance-counter-tasks-queued/">BI performance counter: Tasks Queued</a></li>
2214<li class="page_item page-item-25406"><a href="https://www.sqlshack.com/bi-performance-counter-total-bytes-sent/">BI performance counter: Total bytes sent</a></li>
2215<li class="page_item page-item-25410"><a href="https://www.sqlshack.com/bi-performance-counter-total-cache-hits-web-service/">BI performance counter: Total Cache Hits &#8211; Web service</a></li>
2216<li class="page_item page-item-25413"><a href="https://www.sqlshack.com/bi-performance-counter-total-cache-hits-windows-service/">BI performance counter: Total Cache Hits &#8211; Windows service</a></li>
2217<li class="page_item page-item-25416"><a href="https://www.sqlshack.com/bi-performance-counter-total-cache-misses-web-service/">BI performance counter: Total Cache Misses &#8211; Web service</a></li>
2218<li class="page_item page-item-25421"><a href="https://www.sqlshack.com/bi-performance-counter-total-cache-misses-windows-service/">BI performance counter: Total Cache Misses &#8211; Windows service</a></li>
2219<li class="page_item page-item-25425"><a href="https://www.sqlshack.com/bi-performance-counter-total-calculation-cache-registered/">BI performance counter: Total calculation cache registered</a></li>
2220<li class="page_item page-item-25428"><a href="https://www.sqlshack.com/bi-performance-counter-total-cells-calculated/">BI performance counter: Total cells calculated</a></li>
2221<li class="page_item page-item-25431"><a href="https://www.sqlshack.com/bi-performance-counter-total-deadlocks-detected/">BI performance counter: Total deadlocks detected</a></li>
2222<li class="page_item page-item-25434"><a href="https://www.sqlshack.com/bi-performance-counter-total-deliveries/">BI performance counter: Total Deliveries</a></li>
2223<li class="page_item page-item-25437"><a href="https://www.sqlshack.com/bi-performance-counter-total-dimension-queries/">BI performance counter: Total dimension queries</a></li>
2224<li class="page_item page-item-25441"><a href="https://www.sqlshack.com/bi-performanc
2224e-counter-total-direct-hits/">BI performance counter: Total direct hits</a></li>
2225<li class="page_item page-item-25444"><a href="https://www.sqlshack.com/bi-performance-counter-total-events/">BI performance counter: Total Events</a></li>
2226<li class="page_item page-item-25447"><a href="https://www.sqlshack.com/bi-performance-counter-total-evictions/">BI performance counter: Total evictions</a></li>
2227<li class="page_item page-item-25450"><a href="https://www.sqlshack.com/bi-performance-counter-total-existing/">BI performance counter: Total EXISTING</a></li>
2228<li class="page_item page-item-25453"><a href="https://www.sqlshack.com/bi-performance-counter-total-failures/">BI performance counter: Total failures</a></li>
2229<li class="page_item page-item-25456"><a href="https://www.sqlshack.com/bi-performance-counter-total-inserts/">BI performance counter: Total inserts</a></li>
2230<li class="page_item page-item-25459"><a href="https://www.sqlshack.com/bi-performance-counter-total-lookups/">BI performance counter: Total lookups</a></li>
2231<li class="page_item page-item-25462"><a href="https://www.sqlshack.com/bi-performance-counter-total-measure-group-queries/">BI performance counter: Total measure group queries</a></li>
2232<li class="page_item page-item-25465"><a href="https://www.sqlshack.com/bi-performance-counter-total-memory-cache-hits-web-service/">BI performance counter: Total Memory Cache Hits &#8211;  Web service</a></li>
2233<li class="page_item page-item-25468"><a href="https://www.sqlshack.com/bi-performance-counter-total-memory-cache-hits-windows-service/">BI performance counter: Total Memory Cache Hits &#8211; Windows service</a></li>
2234<li class="page_item page-item-25472"><a href="https://www.sqlshack.com/bi-performance-counter-total-misses/">BI performance counter: Total misses</a></li>
2235<li class="page_item page-item-25475"><a href="https://www.sqlshack.com/bi-performance-counter-total-network-round-trips/">BI performance counter: Total network round trips</a></li>
2236<li class="page_item page-item-25481"><a href="https://www.sqlshack.com/bi-performance-counter-total-non-empty/">BI performance counter: Total NON EMPTY</a></li>
2237<li class="page_item page-item-25478"><a href="https://www.sqlshack.com/bi-performance-counter-total-non-empty-calculated-members/">BI performance counter: Total NON EMPTY for calculated members</a></li>
2238<li class="page_item page-item-25488"><a href="https://www.sqlshack.com/bi-performance-counter-total-partitions/">BI performance counter: Total partitions</a></li>
2239<li class="page_item page-item-25484"><a href="https://www.sqlshack.com/bi-performance-counter-total-partitions-indexes/">BI performance counter: Total partitions – Indexes</a></li>
2240<li class="page_item page-item-25492"><a href="https://www.sqlshack.com/bi-performance-counter-total-predictions/">BI performance counter: Total Predictions</a></li>
2241<li class="page_item page-item-25495"><a href="https://www.sqlshack.com/bi-performance-metric-total-processing-failures-web-service/">BI performance counter: Total Processing Failures &#8211; Web service</a></li>
2242<li class="page_item page-item-25498"><a href="https://www.sqlshack.com/bi-performance-counter-total-processing-failures-windows-service/">BI performance counter: Total Processing Failures &#8211; Windows service</a></li>
2243<li class="page_item page-item-25511"><a href="https://www.sqlshack.com/bi-performance-counter-total-queries/">BI performance counter: Total Queries</a></li>
2244<li class="page_item page-item-25501"><a href="https://www.sqlshack.com/bi-performance-counter-total-queries-answered/">BI performance counter: Total queries answered</a></li>
2245<li class="page_item page-item-25505"><a href="https://www.sqlshack.com/bi-performance-counter-total-queries-cache-direct/">BI performance counter: Total queries from cache direct</a></li>
2246<li class="page_item page-item-25508"><a href="https://www.sqlshack.com/bi-performance-counter-total-queries-file/">BI performance counter: Total queries from file</a></li>
2247<li class="page_item page-item-25515"><a href="https://www.sqlshack.com/bi-performance-counter-total-reports-executed-web-service/">BI performance counter: Total Reports Executed &#8211; Web service</a></li>
2248<li class="page_item page-item-25521"><a href="https://www.sqlshack.com/bi-performance-counter-total-reports-executed-windows-service/">BI performance counter: Total Reports Executed &#8211; Windows service</a></li>
2249<li class="page_item page-item-25532"><a href="https://www.sqlshack.com/bi-performance-counter-total-requests/">BI performance counter: Total Requests</a></li>
2250<li class="page_item page-item-25526"><a href="https://www.sqlshack.com/bi-performance-counter-total-requests-web-service/">BI performance counter: Total Requests &#8211; Web service</a></li>
2251<li class="page_item page-item-25529"><a href="https://www.sqlshack.com/bi-performance-counter-total-requests-windows-service/">BI performance counter: Total Requests &#8211; Windows service</a></li>
2252<li class="page_item page-item-25551"><a href="https://www.sqlshack.com/bi-performance-counter-total-rows/">BI performance counter: Total Rows</a></li>
2253<li class="page_item page-item-25535"><a href="https://www.sqlshack.com/bi-performance-counter-total-rows-indexes/">BI performance counter: Total Rows &#8211; Indexes</a></li>
2254<li class="page_item page-item-25538"><a href="https://www.sqlshack.com/bi-performance-counter-total-rows-converted/">BI performance counter: Total rows converted</a></li>
2255<li class="page_item page-item-25542"><a href="https://www.sqlshack.com/bi-performance-counter-total-rows-read/">BI performance counter: Total rows read</a></li>
2256<li class="page_item page-item-25545"><a href="https://www.sqlshack.com/bi-performance-counter-total-rows-sent/">BI performance counter: Total rows sent</a></li>
2257<li class="page_item page-item-25548"><a href="https://www.sqlshack.com/bi-performance-counter-total-rows-written/">BI performance counter: Total rows written</a></li>
2258<li class="page_item page-item-25554"><a href="https://www.sqlshack.com/bi-performance-counter-total-successes/">BI performance counter: Total successes</a></li>
2259<li class="page_item page-item-25557"><a href="https://www.sqlshack.com/bi-performance-counter-working-set/">BI performance counter: Working Set</a></li>
2260<li class="page_item page-item-25038"><a href="https://www.sqlshack.com/bi-performance-counters/">BI performance counters</a></li>
2261<li class="page_item page-item-8148"><a href="https://www.sqlshack.com/sql-server-wait-type-broker-connection-receive-task/">BROKER_CONNECTION_RECEIVE_TASK</a></li>
2262<li class="page_item page-item-8151"><a href="https://www.sqlshack.com/sql-server-wait-type-broker-dispat
2262cher/">BROKER_DISPATCHER</a></li>
2263<li class="page_item page-item-8154"><a href="https://www.sqlshack.com/sql-server-wait-type-broker-endpoint-state-mutex/">BROKER_ENDPOINT_STATE_MUTEX</a></li>
2264<li class="page_item page-item-8157"><a href="https://www.sqlshack.com/sql-server-wait-type-broker-eventhandler/">BROKER_EVENTHANDLER</a></li>
2265<li class="page_item page-item-8160"><a href="https://www.sqlshack.com/sql-server-wait-type-broker-forwarder/">BROKER_FORWARDER</a></li>
2266<li class="page_item page-item-8162"><a href="https://www.sqlshack.com/sql-server-wait-type-broker-init/">BROKER_INIT</a></li>
2267<li class="page_item page-item-8165"><a href="https://www.sqlshack.com/sql-server-wait-type-broker-masterstart/">BROKER_MASTERSTART</a></li>
2268<li class="page_item page-item-8168"><a href="https://www.sqlshack.com/sql-server-wait-type-broker-receive-waitfor/">BROKER_RECEIVE_WAITFOR</a></li>
2269<li class="page_item page-item-8170"><a href="https://www.sqlshack.com/sql-server-wait-type-broker-registerallendpoints/">BROKER_REGISTERALLENDPOINTS</a></li>
2270<li class="page_item page-item-8172"><a href="https://www.sqlshack.com/sql-server-wait-type-broker-service/">BROKER_SERVICE</a></li>
2271<li class="page_item page-item-8174"><a href="https://www.sqlshack.com/sql-server-wait-type-broker-shutdown/">BROKER_SHUTDOWN</a></li>
2272<li class="page_item page-item-8177"><a href="https://www.sqlshack.com/sql-server-wait-type-broker-task-shutdown/">BROKER_TASK_SHUTDOWN</a></li>
2273<li class="page_item page-item-8180"><a href="https://www.sqlshack.com/sql-server-wait-type-broker-task-stop/">BROKER_TASK_STOP</a></li>
2274<li class="page_item page-item-8182"><a href="https://www.sqlshack.com/sql-server-wait-type-broker-task-submit/">BROKER_TASK_SUBMIT</a></li>
2275<li class="page_item page-item-8185"><a href="https://www.sqlshack.com/sql-server-wait-type-broker-transmission-object/">BROKER_TRANSMISSION_OBJECT</a></li>
2276<li class="page_item page-item-8187"><a href="https://www.sqlshack.com/sql-server-wait-type-broker-transmission-table/">BROKER_TRANSMISSION_TABLE</a></li>
2277<li class="page_item page-item-8190"><a href="https://www.sqlshack.com/sql-server-wait-type-broker-transmission-work/">BROKER_TRANSMISSION_WORK</a></li>
2278<li class="page_item page-item-8192"><a href="https://www.sqlshack.com/sql-server-wait-type-broker-transmitter/">BROKER_TRANSMITTER</a></li>
2279<li class="page_item page-item-7954"><a href="https://www.sqlshack.com/sql-server-wait-type-clr-auto-event/">CLR_AUTO_EVENT</a></li>
2280<li class="page_item page-item-7992"><a href="https://www.sqlshack.com/sql-server-wait-type-clr-monitor/">CLR_MONITOR</a></li>
2281<li class="page_item page-item-8194"><a href="https://www.sqlshack.com/sql-server-wait-type-clr-rwlock-reader/">CLR_RWLOCK_READER</a></li>
2282<li class="page_item page-item-8197"><a href="https://www.sqlshack.com/sql-server-wait-type-clr-rwlock-writer/">CLR_RWLOCK_WRITER</a></li>
2283<li class="page_item page-item-8200"><a href="https://www.sqlshack.com/sql-server-wait-type-clr-task-start/">CLR_TASK_START</a></li>
2284<li class="page_item page-item-8202"><a href="https://www.sqlshack.com/sql-server-wait-type-cmemthread/">CMEMTHREAD</a></li>
2285<li class="page_item page-item-46087"><a href="https://www.sqlshack.com/coding-language-support-and-syntax-highlighting-examples/">Coding language support and syntax highlighting examples</a></li>
2286<li class="page_item page-item-8204"><a href="https://www.sqlshack.com/sql-server-wait-type-commit-act/">COMMIT_ACT</a></li>
2287<li class="page_item page-item-8206"><a href="https://www.sqlshack.com/sql-server-wait-type-commit-table/">COMMIT_TABLE</a></li>
2288<li class="page_item page-item-8208"><a href="https://www.sqlshack.com/sql-server-wait-type-cxpacket/">CXPACKET</a></li>
2289<li class="page_item page-item-8210"><a href="https://www.sqlshack.com/sql-server-wait-type-dac-init/">DAC_INIT</a></li>
2290<li class="page_item page-item-8212"><a href="https://www.sqlshack.com/sql-server-wait-type-dbmirror-dbm-event/">DBMIRROR_DBM_EVENT</a></li>
2291<li class="page_item page-item-8215"><a href="https://www.sqlshack.com/sql-server-wait-type-dbmirror-dbm-mutex/">DBMIRROR_DBM_MUTEX</a></li>
2292<li class="page_item page-item-8217"><a href="https://www.sqlshack.com/sql-server-wait-type-dbmirror-send
2292/">DBMIRROR_SEND</a></li>
2293<li class="page_item page-item-8219"><a href="https://www.sqlshack.com/sql-server-wait-type-dbmirror-worker-queue/">DBMIRROR_WORKER_QUEUE</a></li>
2294<li class="page_item page-item-8221"><a href="https://www.sqlshack.com/sql-server-wait-type-dbmirroring-cmd/">DBMIRRORING_CMD</a></li>
2295<li class="page_item page-item-8223"><a href="https://www.sqlshack.com/sql-server-wait-type-dbseeding-flowcontrol/">DBSEEDING_FLOWCONTROL</a></li>
2296<li class="page_item page-item-8226"><a href="https://www.sqlshack.com/sql-server-wait-type-dbseeding-operation/">DBSEEDING_OPERATION</a></li>
2297<li class="page_item page-item-8228"><a href="https://www.sqlshack.com/sql-server-wait-type-deadlock-enum-mutex/">DEADLOCK_ENUM_MUTEX</a></li>
2298<li class="page_item page-item-8230"><a href="https://www.sqlshack.com/sql-server-wait-type-deadlock-task-search/">DEADLOCK_TASK_SEARCH</a></li>
2299<li class="page_item page-item-8232"><a href="https://www.sqlshack.com/sql-server-wait-type-dirty-page-poll/">DIRTY_PAGE_POLL</a></li>
2300<li class="page_item page-item-8234"><a href="https://www.sqlshack.com/sql-server-wait-type-diskio-suspend/">DISKIO_SUSPEND</a></li>
2301<li class="page_item page-item-8236"><a href="https://www.sqlshack.com/sql-server-wait-type-dispatcher-priority-queue-semaphore/">DISPATCHER_PRIORITY_QUEUE_SEMAPHORE</a></li>
2302<li class="page_item page-item-8238"><a href="https://www.sqlshack.com/sql-server-wait-type-dll-loading-mutex/">DLL_LOADING_MUTEX</a></li>
2303<li class="page_item page-item-8240"><a href="https://www.sqlshack.com/sql-server-wait-type-dtc/">DTC</a></li>
2304<li class="page_item page-item-8242"><a href="https://www.sqlshack.com/sql-server-wait-type-dtc-abort-request/">DTC_ABORT_REQUEST</a></li>
2305<li class="page_item page-item-8244"><a href="https://www.sqlshack.com/sql-server-wait-type-dtc-resolve/">DTC_RESOLVE</a></li>
2306<li class="page_item page-item-8246"><a href="https://www.sqlshack.com/sql-server-wait-type-dtc-state/">DTC_STATE</a></li>
2307<li class="page_item page-item-8248"><a href="https://www.sqlshack.com/sql-server-wait-type-dtc-tmdown-request/">DTC_TMDOWN_REQUEST</a></li>
2308<li class="page_item page-item-8250"><a href="https://www.sqlshack.com/sql-server-wait-type-dtc-waitfor-outcome/">DTC_WAITFOR_OUTCOME</a></li>
2309<li class="page_item page-item-8252"><a href="https://www.sqlshack.com/sql-server-wait-type-dtcpntsync/">DTCPNTSYNC</a></li>
2310<li class="page_item page-item-8254"><a href="https://www.sqlshack.com/sql-server-wait-type-exchange/">EXCHANGE</a></li>
2311<li class="page_item page-item-8256"><a href="https://www.sqlshack.com/sql-server-wait-type-execsync/">EXECSYNC</a></li>
2312<li class="page_item page-item-8258"><a href="https://www.sqlshack.com/sql-server-wait-type-fcb-replica-read/">FCB_REPLICA_READ</a></li>
2313<li class="page_item page-item-8260"><a href="https://www.sqlshack.com/sql-server-wait-type-fcb-replica-write/">FCB_REPLICA_WRITE</a></li>
2314<li class="page_item page-item-8262"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-ag-mutex/">HADR_AG_MUTEX</a></li>
2315<li class="page_item page-item-8265"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-ar-critical-section-entry/">HADR_AR_CRITICAL_SECTION_ENTRY</a></li>
2316<li class="page_item page-item-8267"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-ar-manager-mutex/">HADR_AR_MANAGER_MUTEX</a></li>
2317<li class="page_item page-item-8269"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-ar-unload-completed/">HADR_AR_UNLOAD_COMPLETED</a></li>
2318<li class="page_item page-item-8271"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-arcontroller-notifications-subscriber-list/">HADR_ARCONTROLLER_NOTIFICATIONS_SUBSCRIBER_LIST</a></li>
2319<li class="page_item page-item-8274"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-backup-bulk-lock/">HADR_BACKUP_BULK_LOCK</a></li>
2320<li class="page_item page-item-8276"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-backup-queue/">HADR_BACKUP_QUEUE</a></li>
2321<li class="page_item page-item-8278"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-compressed-cache-sync/">HADR_COMPRESSED_CACHE_SYNC</a></li>
2322<li class="page_item page-item-8280"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-connectivity-info/">HADR_CONNECTIVITY_INFO</a></li>
2323<li class="page_item page-item-8282"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-database-flow-control/">HADR_DATABASE_FLOW_CONTROL</a></li>
2324<li class="page_item page-item-8284"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-database-versioning-state/">HADR_DATABASE_VERSIONING_STATE</a></li>
2325<li class="page_item page-item-8286"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-database-wait-for-restart/">HADR_DATABASE_WAIT_FOR_RESTART</a></li>
2326<li class="page_item page-item-8289"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-database-wait-for-transition-to-versioning/">HADR_DATABASE_WAIT_FOR_TRANSITION_TO_VERSIONING</a></li>
2327<li class="page_item page-item-8291"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-db-command/">HADR_DB_COMMAND</a></li>
2328<li class="page_item page-item-8293"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-db-op-completion-sync/">HADR_DB_OP_COMPLETION_SYNC</a></li>
2329<li class="page_item page-item-8295"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-db-op-start-sync/">HADR_DB_OP_START_SYNC</a></li>
2330<li class="page_item page-item-8299"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-dbr-subscriber/">HADR_DBR_SUBSCRIBER</a></li>
2331<li class="page_item page-item-8301"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-dbr-subscriber-filter-list/">HADR_DBR_SUBSCRIBER_FILTER_LIST</a></li>
2332<li class="page_item page-item-8303"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-dbseeding/">HADR_DBSEEDING</a></li>
2333<li class="page_item page-item-8305"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-dbseeding-list/">HADR_DBSEEDING_LIST</a></li>
2334<li class="page_item page-item-8307"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-dbstatechange-sync/">HADR_DBSTATECHANGE_SYNC</a></li>
2335<li class="page_item page-item-8309"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-fabric-callback/">HADR_FABRIC_CALLBACK</a></li>
2336<li class="page_item page-item-8311"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-filestream-block-flush/">HADR_FILESTREAM_BLOCK_FLUSH</a></li>
2337<li class="page_item page-item-8313"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-filestream-file-close/">HADR_FILESTREAM_FILE_CLOSE</a></li>
2338<li class="page_item page-item-8315"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-filestream-file-request/">HADR_FILESTREAM_FILE_REQUEST</a></li>
2339<li class="page_item page-item-8317"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-filestream-iomgr/">HADR_FILESTREAM_IOMGR</a></li>
2340<li class="page_item page-item-8323"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-filestream-manager/">HADR_FILESTREAM_MANAGER</a></li>
2341<li class="page_item page-item-8334"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-group-commit/">HADR_GROUP_COMMIT</a></li>
2342<li class="page_item page-item-8336"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-logcapture-sync/">HADR_LOGCAPTURE_SYNC</a></li>
2343<li class="page_item page-item-8339"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-logcapture-wait/">HADR_LOGCAPTURE_WAIT</a></li>
2344<li class="page_item page-item-8341"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-logprogress-sync/">HADR_LOGPROGRESS_SYNC</a></li>
2345<li class="page_item page-item-8343"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-notification-dequeue/">HADR_NOTIFICATION_DEQUEUE</a></li>
2346<li class="page_item page-item-8345"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-notification-worker-exclusive-access/">HADR_NOTIFICATION_WORKER_EXCLUSIVE_ACCESS</a></li>
2347<li class="page_item page-item-8347"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-notification-worker-startup-sync/">HADR_NOTIFICATION_WORKER_STARTUP_SYNC</a></li>
2348<li class="page_item page-item-8350"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-notification-worker-termination-sync/">HADR_NOTIFICATION_WORKER_TERMINATION_SYNC</a></li>
2349<li class="page_item page-item-8352"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-partner-sync/">HADR_PARTNER_SYNC</a></li>
2350<li class="page_item page-item-8355"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-read-all-networks/">HADR_READ_ALL_NETWORKS</a></li>
2351<li class="page_item page-item-8357"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-recovery-wait-for-connection/">HADR_RECOVERY_WAIT_FOR_CONNECTION</a></li>
2352<li class="page_item page-item-8359"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-recovery-wait-for-undo/">HADR_RECOVERY_WAIT_FOR_UNDO</a></li>
2353<li class="page_item page-item-8362"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-replicainfo-sync/">HADR_REPLICAINFO_SYNC</a></li>
2354<li class="page_item page-item-8364"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-sync-commit/">HADR_SYNC_COMMIT</a></li>
2355<li class="page_item page-item-8366"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-synchronizing-throttle/">HADR_SYNCHRONIZING_THROTTLE</a></li>
2356<li class="page_item page-item-8369"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-tds-listener-sync/">HADR_TDS_LISTENER_SYNC</a></li>
2357<li class="page_item page-item-8372"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-tds-listener-sync-processing/">HADR_TDS_LISTENER_SYNC_PROCESSING</a></li>
2358<li class="page_item page-item-8374"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-timer-task/">HADR_TIMER_TASK</a></li>
2359<li class="page_item page-item-8389"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-transport-dbrlist/">HADR_TRANSPORT_DBRLIST</a></li>
2360<li class="page_item page-item-8392"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-transport-flow-control/">HADR_TRANSPORT_FLOW_CONTROL</a></li>
2361<li class="page_item page-item-8394"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-transport-session/">HADR_TRANSPORT_SESSION</a></li>
2362<li class="page_item page-item-8397"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-work-pool/">HADR_WORK_POOL</a></li>
2363<li class="page_item page-item-8400"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-work-queue/">HADR_WORK_QUEUE</a></li>
2364<li class="page_item page-item-8402"><a href="https://www.sqlshack.com/sql-server-wait-type-hadr-xrf-stack-access/">HADR_XRF_STACK_ACCESS</a></li>
2365<li class="page_item page-item-8404"><a href="https://www.sqlshack.com/sql-server-wait-type-io-completion/">IO_COMPLETION</a></li>
2366<li class="page_item page-item-8406"><a href="https://www.sqlshack.com/sql-server-wait-type-latch-dt/">LATCH_DT</a></li>
2367<li class="page_item page-item-8408"><a href="https://www.sqlshack.com/sql-server-wait-type-latch-ex/">LATCH_EX</a></li>
2368<li class="page_item page-item-8410"><a href="https://www.sqlshack.com/sql-server-wait-type-latch-kp/">LATCH_KP</a></li>
2369<li class="page_item page-item-8412"><a href="https://www.sqlshack.com/sql-server-wait-type-latch-nl/">LATCH_NL</a></li>
2370<li class="page_item page-item-8414"><a href="https://www.sqlshack.com/sql-server-wait-type-latch-sh/">LATCH_SH</a></li>
2371<li class="page_item page-item-8418"><a href="https://www.sqlshack.com/sql-server-wait-type-latch-up/">LATCH_UP</a></li>
2372<li class="page_item page-item-8421"><a href="https://www.sqlshack.com/sql-server-wait-type-lazywriter-sleep/">LAZYWRITER_SLEEP</a></li>
2373<li class="page_item page-item-8423"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-bu/">LCK_M_BU</a></li>
2374<li class="page_item page-item-8425"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-bu-abort-blockers/">LCK_M_BU_ABORT_BLOCKERS</a></li>
2375<li class="page_item page-item-8427"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-bu-low-priority/">LCK_M_BU_LOW_PRIORITY</a></li>
2376<li class="page_item page-item-8430"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-is/">LCK_M_IS</a></li>
2377<li class="page_item page-item-8432"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-is-abort-blockers/">LCK_M_IS_ABORT_BLOCKERS</a></li>
2378<li class="page_item page-item-8434"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-is-low-priority/">LCK_M_IS_LOW_PRIORITY</a></li>
2379<li class="page_item page-item-8436"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-iu/">LCK_M_IU</a></li>
2380<li class="page_item page-item-8438"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-iu-abort-blockers/">LCK_M_IU_ABORT_BLOCKERS</a></li>
2381<li class="page_item page-item-8441"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-iu-low-priority/">LCK_M_IU_LOW_PRIORITY</a></li>
2382<li class="page_item page-item-8444"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-ix/">LCK_M_IX</a></li>
2383<li class="page_item page-item-8446"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-ix-abort-blockers/">LCK_M_IX_ABORT_BLOCKERS</a></li>
2384<li class="page_item page-item-8448"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-ix-low-priority/">LCK_M_IX_LOW_PRIORITY</a></li>
2385<li class="page_item page-item-8492"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rin-nl/">LCK_M_RIn_NL</a></li>
2386<li class="page_item page-item-8494"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rin-nl-abort-blockers/">LCK_M_RIn_NL_ABORT_BLOCKERS</a></li>
2387<li class="page_item page-item-8496"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rin-nl-low-priority/">LCK_M_RIn_NL_LOW_PRIORITY</a></li>
2388<li class="page_item page-item-8498"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rin-s/">LCK_M_RIn_S</a></li>
2389<li class="page_item page-item-8500"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rin-s-abort-blockers/">LCK_M_RIn_S_ABORT_BLOCKERS</a></li>
2390<li class="page_item page-item-8502"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rin-s-low-priority/">LCK_M_RIn_S_LOW_PRIORITY</a></li>
2391<li class="page_item page-item-8504"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rin-u/">LCK_M_RIn_U</a></li>
2392<li class="page_item page-item-8506"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rin-u-abort-blockers/">LCK_M_RIn_U_ABORT_BLOCKERS</a></li>
2393<li class="page_item page-item-8508"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rin-u-low-priority/">LCK_M_RIn_U_LOW_PRIORITY</a></li>
2394<li class="page_item page-item-8510"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rin-x/">LCK_M_RIn_X</a></li>
2395<li class="page_item page-item-8534"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rin-x-abort-blockers/">LCK_M_RIn_X_ABORT_BLOCKERS</a></li>
2396<li class="page_item page-item-8538"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rin-x-low-priority/">LCK_M_RIn_X_LOW_PRIORITY</a></li>
2397<li class="page_item page-item-8598"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rs-s/">LCK_M_RS_S</a></li>
2398<li class="page_item page-item-8600"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rs-s-abort-blockers/">LCK_M_RS_S_ABORT_BLOCKERS</a></li>
2399<li class="page_item page-item-8607"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rs-s-low-priority/">LCK_M_RS_S_LOW_PRIORITY</a></li>
2400<li class="page_item page-item-8610"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rs-u/">LCK_M_RS_U</a></li>
2401<li class="page_item page-item-8612"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rs-u-abort-blockers/">LCK_M_RS_U_ABORT_BLOCKERS</a></li>
2402<li class="page_item page-item-8614"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rs-u-low-priority/">LCK_M_RS_U_LOW_PRIORITY</a></li>
2403<li class="page_item page-item-8616"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rx-s/">LCK_M_RX_S</a></li>
2404<li class="page_item page-item-8618"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rx-s-abort-blockers/">LCK_M_RX_S_ABORT_BLOCKERS</a></li>
2405<li class="page_item page-item-8620"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rx-s-low-priority/">LCK_M_RX_S_LOW_PRIORITY</a></li>
2406<li class="page_item page-item-8623"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rx-u/">LCK_M_RX_U</a></li>
2407<li class="page_item page-item-8625"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rx-u-
2407abort-blockers/">LCK_M_RX_U_ABORT_BLOCKERS</a></li>
2408<li class="page_item page-item-8627"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rx-u-low-priority/">LCK_M_RX_U_LOW_PRIORITY</a></li>
2409<li class="page_item page-item-8629"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rx-x/">LCK_M_RX_X</a></li>
2410<li class="page_item page-item-8631"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rx-x-abort-blockers/">LCK_M_RX_X_ABORT_BLOCKERS</a></li>
2411<li class="page_item page-item-8633"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-rx-x-low-priority/">LCK_M_RX_X_LOW_PRIORITY</a></li>
2412<li class="page_item page-item-8635"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-s/">LCK_M_S</a></li>
2413<li class="page_item page-item-8637"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-s-abort-blockers/">LCK_M_S_ABORT_BLOCKERS</a></li>
2414<li class="page_item page-item-8639"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-s-low-priority/">LCK_M_S_LOW_PRIORITY</a></li>
2415<li class="page_item page-item-8641"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-sch-m/">LCK_M_SCH_M</a></li>
2416<li class="page_item page-item-8643"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-sch-m-abort-blockers/">LCK_M_SCH_M_ABORT_BLOCKERS</a></li>
2417<li class="page_item page-item-8645"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-sch-m-low-priority/">LCK_M_SCH_M_LOW_PRIORITY</a></li>
2418<li class="page_item page-item-8648"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-sch-s/">LCK_M_SCH_S</a></li>
2419<li class="page_item page-item-8650"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-sch-s-abort-blockers/">LCK_M_SCH_S_ABORT_BLOCKERS</a></li>
2420<li class="page_item page-item-8652"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-sch-s-low-priority/">LCK_M_SCH_S_LOW_PRIORITY</a></li>
2421<li class="page_item page-item-8654"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-siu/">LCK_M_SIU</a></li>
2422<li class="page_item page-item-8656"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-siu-abort-blockers/">LCK_M_SIU_ABORT_BLOCKERS</a></li>
2423<li class="page_item page-item-8658"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-siu-low-priority/">LCK_M_SIU_LOW_PRIORITY</a></li>
2424<li class="page_item page-item-8661"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-six/">LCK_M_SIX</a></li>
2425<li class="page_item page-item-8663"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-six-abort-blockers/">LCK_M_SIX_ABORT_BLOCKERS</a></li>
2426<li class="page_item page-item-8665"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-six-low-priority/">LCK_M_SIX_LOW_PRIORITY</a></li>
2427<li class="page_item page-item-8667"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-u/">LCK_M_U</a></li>
2428<li class="page_item page-item-8669"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-u-abort-blockers/">LCK_M_U_ABORT_BLOCKERS</a></li>
2429<li class="page_item page-item-8671"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-u-low-priority/">LCK_M_U_LOW_PRIORITY</a></li>
2430<li class="page_item page-item-8673"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-uix/">LCK_M_UIX</a></li>
2431<li class="page_item page-item-8675"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-uix-abort-blockers/">LCK_M_UIX_ABORT_BLOCKERS</a></li>
2432<li class="page_item page-item-8678"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-uix-low-priority/">LCK_M_UIX_LOW_PRIORITY</a></li>
2433<li class="page_item page-item-8681"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-x/">LCK_M_X</a></li>
2434<li class="page_item page-item-8684"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-x-abort-blockers/">LCK_M_X_ABORT_BLOCKERS</a></li>
2435<li class="page_item page-item-8686"><a href="https://www.sqlshack.com/sql-server-wait-type-lck-m-x-low-priority/">LCK_M_X_LOW_PRIORITY</a></li>
2436<li class="page_item page-item-8688"><a href="https://www.sqlshack.com/sql-server-wait-type-logbuffer/">LOGBUFFER</a></li>
2437<li class="page_item page-item-8702"><a href="https://www.sqlshack.com/sql-server-wait-type-logmgr/">LOGMGR</a></li>
2438<li class="page_item page-item-8704"><a href="https://www.sqlshack.com/sql-server-wait-type-logmgr-flush/">LOGMGR_FLUSH</a></li>
2439<li class="page_item page-item-8706"><a href="https://www.sqlshack.com/sql-server-wait-type-logmgr-queue/">LOGMGR_QUEUE</a></li>
2440<li class="page_item page-item-8708"><a href="https://www.sqlshack.com/sql-server-wait-type-logmgr-reserve-append/">LOGMGR_RESERVE_APPEND</a></li>
2441<li class="page_item page-item-8711"><a href="https://www.sqlshack.com/sql-server-wait-type-msql-dq/">MSQL_DQ</a></li>
2442<li class="page_item page-item-8721"><a href="https://www.sqlshack.com/sql-server-wait-type-mssearch/">MSSEARCH</a></li>
2443<li class="page_item page-item-8716"><a href="https://www.sqlshack.com/sql-server-wait-type-mssql-xp/">MSSQL_XP</a></li>
2444<li class="page_item page-item-8723"><a href="https://www.sqlshack.com/sql-server-wait-type-oledb/">OLEDB</a></li>
2445<li class="page_item page-item-8725"><a href="https://www.sqlshack.com/sql-server-wait-type-pageiolatch-dt/">PAGEIOLATCH_DT</a></li>
2446<li class="page_item page-item-8729"><a href="https://www.sqlshack.com/sql-server-wait-type-pageiolatch-ex/">PAGEIOLATCH_EX</a></li>
2447<li class="page_item page-item-8731"><a href="https://www.sqlshack.com/sql-server-wait-type-pageiolatch-kp/">PAGEIOLATCH_KP</a></li>
2448<li class="page_item page-item-8734"><a href="https://www.sqlshack.com/sql-server-wait-type-pageiolatch-nl/">PAGEIOLATCH_NL</a></li>
2449<li class="page_item page-item-8738"><a href="https://www.sqlshack.com/sql-server-wait-type-pageiolatch-sh/">PAGEIOLATCH_SH</a></li>
2450<li class="page_item page-item-8741"><a href="https://www.sqlshack.com/sql-server-wait-type-pageiolatch-up/">PAGEIOLATCH_UP</a></li>
2451<li class="page_item page-item-8744"><a href="https://www.sqlshack.com/sql-server-wait-type-pagelatch-dt/">PAGELATCH_DT</a></li>
2452<li class="page_item page-item-8747"><a href="https://www.sqlshack.com/sql-server-wait-type-pagelatch-ex/">PAGELATCH_EX</a></li>
2453<li class="page_item page-item-8749"><a href="https://www.sqlshack.com/sql-server-wait-type-pagelatch-kp/">PAGELATCH_KP</a></li>
2454<li class="page_item page-item-8752"><a href="https://www.sqlshack.com/sql-server-wait-type-pagelatch-nl/">PAGELATCH_NL</a></li>
2455<li class="page_item page-item-8755"><a href="https://www.sqlshack.com/sql-server-wait-type-pagelatch-sh/">PAGELATCH_SH</a></li>
2456<li class="page_item page-item-8758"><a href="https://www.sqlshack.com/sql-server-wait-type-pagelatch-up/">PAGELATCH_UP</a></li>
2457<li class="page_item page-item-8761"><a href="https://www.sqlshack.com/sql-server-wait-type-preemptive-os-authenticationops/">PREEMPTIVE_OS_AUTHENTICATIONOPS</a></li>
2458<li class="page_item page-item-8763"><a href="https://www.sqlshack.com/sql-server-wait-type-preemptive-os-backupread/">PREEMPTIVE_OS_BACKUPREAD</a></li>
2459<li class="page_item page-item-8765"><a href="https://www.sqlshack.com/sql-server-wait-type-preemptive-os-clusterops/">PREEMPTIVE_OS_CLUSTEROPS</a></li>
2460<li class="page_item page-item-8767"><a href="https://www.sqlshack.com/sql-server-wait-type-preemptive-os-deviceops/">PREEMPTIVE_OS_DEVICEOPS</a></li>
2461<li class="page_item page-item-8771"><a href="https://www.sqlshack.com/sql-server-wait-type-preemptive-os-dtcops/">PREEMPTIVE_OS_DTCOPS</a></li>
2462<li class="page_item page-item-8775"><a href="https://www.sqlshack.com/sql-server-wait-type-preemptive-os-encryptmessage/">PREEMPTIVE_OS_ENCRYPTMESSAGE</a></li>
2463<li class="page_item page-item-8778"><a href="https://www.sqlshack.com/sql-server-wait-type-preemptive-os-fileops/">PREEMPTIVE_OS_FILEOPS</a></li>
2464<li class="page_item page-item-8781"><a href="https://www.sqlshack.com/sql-server-wait-type-preemptive-os-flushfilebuffers/">PREEMPTIVE_OS_FLUSHFILEBUFFERS</a></li>
2465<li class="page_item page-item-8783"><a href="https://www.sqlshack.com/sql-server-wait-type-preemptive-os-genericops/">PREEMPTIVE_OS_GENERICOPS</a></li>
2466<li class="page_item page-item-8786"><a href="https://www.sqlshack.com/sql-server-wait-type-preemptive-os-getdiskfreespace/">PREEMPTIVE_OS_GETDISKFREESPACE</a></li>
2467<li class="page_item page-item-8788"><a href="https://www.sqlshack.com/sql-server-wait-type-preemptive-os-getprocaddress/">PREEMPTIVE_OS_GETPROCADDRESS</a></li>
2468<li class="page_item page-item-8790"><a href="https://www.sqlshack.com/sql-server-wait-type-preemptive-os-libraryops/">PREEMPTIVE_OS_LIBRARYOPS</a></li>
2469<li class="page_item page-item-8792"><a href="https://www.sqlshack.com/sql-server-wait-type-preemptive-os-lookupaccountsid/">PREEMPTIVE_OS_LOOKUPACCOUNTSID</a></li>
2470<li class="page_item page-item-8794"><a href="https://www.sqlshack.com/sql-server-wait-type-preemptive-os-pipeops/">PREEMPTIVE_OS_PIPEOPS</a></li>
2471<li class="page_item page-item-8796"><a href="https://www.sqlshack.com/sql-server-wait-type-preemptive-os-queryregistry/">PREEMPTIVE_OS_QUERYREGISTRY</a></li>
2472<li class="page_item page-item-8799"><a href="https://www.sqlshack.com/sql-server-wait-type-preemptive-os-securityops/">PREEMPTIVE_OS_SECURITYOPS</a></li>
2473<li class="page_item page-item-8802"><a href="https://www.sqlshack.com/sql-server-wait-type-preemptive-os-serviceops/">PREEMPTIVE_OS_SERVICEOPS</a></li>
2474<li class="page_item page-item-8805"><a href="https://www.sqlshack.com/sql-server-wait-type-preemptive-os-sqlclrops/">PREEMPTIVE_OS_SQLCLROPS</a></li>
2475<li class="page_item page-item-8807"><a href="https://www.sqlshack.com/sql-server-wait-type-preemptive-os-writefilegather/">PREEMPTIVE_OS_WRITEFILEGATHER</a></li>
2476<li class="page_item page-item-8809"><a href="https://www.sqlshack.com/sql-server-wait-type-replica-writes/">REPLICA_WRITES</a></li>
2477<li class="page_item page-item-8811"><a href="https://www.sqlshack.com/sql-server-wait-type-request-for-deadlock-search/">REQUEST_FOR_DEADLOCK_SEARCH</a></li>
2478<li class="page_item page-item-8813"><a href="https://www.sqlshack.com/sql-server-wait-type-resource-queue/">RESOURCE_QUEUE</a></li>
2479<li class="page_item page-item-8815"><a href="https://www.sqlshack.com/sql-server-wait-type-resource-semaphore/">RESOURCE_SEMAPHORE</a></li>
2480<li class="page_item page-item-8818"><a href="https://www.sqlshack.com/sql-server-wait-type-resource-semaphore-mutex/">RESOURCE_SEMAPHORE_MUTEX</a></li>
2481<li class="page_item page-item-8820"><a href="https://www.sqlshack.com/sql-server-wait-type-resource-semaphore-query-compile/">RESOURCE_SEMAPHORE_QUERY_COMPILE</a></li>
2482<li class="page_item page-item-8822"><a href="https://www.sqlshack.com/sql-server-wait-type-sleep-task/">SLEEP_TASK</a></li>
2483<li class="page_item page-item-8824"><a href="https://www.sqlshack.com/sql-server-wait-type-sos-scheduler-yield/">SOS_SCHEDULER_YIELD</a></li>
2484<li class="page_item page-item-8826"><a href="https://www.sqlshack.com/sql-server-wait-type-sp-server-diagnostics-sleep/">SP_SERVER_DIAGNOSTICS_SLEEP</a></li>
2485<li class="page_item page-item-51374 page_item_has_children"><a href="https://www.sqlshack.com/sql-code-smells-rules/">SQL code smells rules</a>
2486<ul class='children'>
2487	<li class="page_item page-item-51379"><a href="https://www.sqlshack.com/sql-code-smells-rules/category-code/">Code</a></li>
2488	<li class="page_item page-item-51415"><a href="https://www.sqlshack.com/sql-code-smells-rules/category-deprecated-features/">Deprecated features</a></li>
2489	<li class="page_item page-item-51395"><a href="https://www.sqlshack.com/sql-code-smells-rules/category-design/">Design</a></li>
2490	<li class="page_item page-item-51427"><a href="https://www.sqlshack.com/sql-code-smells-rules/category-maintenance/">Maintenance</a></li>
2491	<li class="page_item page-item-51447"><a href="https://www.sqlshack.com/sql-code-smells-rules/category-naming-convention/">Naming Convention</a></li>
2492	<li class="page_item page-item-51434"><a href="https://www.sqlshack.com/sql-code-smells-rules/category-performance/">Performance</a></li>
2493	<li class="page_item page-item-51444"><a href="https://www.sqlshack.com/sql-code-smells-rules/category-query/">Query</a></li>
2494	<li class="page_item page-item-51456"><a href="https://www.sqlshack.com/sql-code-smells-rules/category-security/">Security</a></li>
2495</ul>
2496</li>
2497<li class="page_item page-item-49828 page_item_has_children"><a href="https://www.sqlshack.com/sql-server-training/">SQL Server training</a>
2498<ul class='children'>
2499	<li class="page_item page-item-49714 page_item_has_children"><a href="https://www.sqlshack.com/sql-server-training/sql-server-basics/">SQL Server Basics</a>
2500	<ul class='children'>
2501		<li class="page_item page-item-49726"><a href="https://www.sqlshack.com/sql-server-training/sql-server-basics/data-definition-language-ddl/">Data Definition Language (DDL)</a></li>
2502		<li class="page_item page-item-49728"><a href="https://www.sqlshack.com/sql-server-training/sql-server-basics/data-manipulation-language-dml/">Data Manipulation Language (DML)</a></li>
2503		<li class="page_item page-item-49729"><a href="https://www.sqlshack.com/sql-server-training/sql-server-basics/data-types/">Data Types</a></li>
2504		<li class="page_item page-item-49734"><a href="https://www.sqlshack.com/sql-server-training/sql-server-basics/expressions/">Expressions</a></li>
2505	</ul>
2506</li>
2507</ul>
2508</li>
2509<li class="page_item page-item-8061"><a href="https://www.sqlshack.com/sql-server-wait-types/">SQL Server wait types</a></li>
2510<li class="page_item page-item-8828"><a href="https://www.sqlshack.com/sql-server-wait-type-sqltrace-buffer-flush/">SQLTRACE_BUFFER_FLUSH</a></li>
2511<li class="page_item page-item-8830"><a href="https://www.sqlshack.com/sql-server-wait-type-sqltrace-file-buffer/">SQLTRACE_FILE_BUFFER</a></li>
2512<li class="page_item page-item-8832"><a href="https://www.sqlshack.com/sql-server-wait-type-sqltrace-file-read-io-completion/">SQLTRACE_FILE_READ_IO_COMPLETION</a></li>
2513<li class="page_item page-item-8834"><a href="https://www.sqlshack.com/sql-server-wait-type-sqltrace-file-write-io-completion/">SQLTRACE_FILE_WRITE_IO_COMPLETION</a></li>
2514<li class="page_item page-item-8837"><a href="https://www.sqlshack.com/sql-server-wait-type-sqltrace-incremental-flush-sleep/">SQLTRACE_INCREMENTAL_FLUSH_SLEEP</a></li>
2515<li class="page_item page-item-8839"><a href="https://www.sqlshack.com/sql-server-wait-type-sqltrace-pending-buffer-writers/">SQLTRACE_PENDING_BUFFER_WRITERS</a></li>
2516<li class="page_item page-item-8841"><a href="https://www.sqlshack.com/sql-server-wait-type-sqltrace-shutdown/">SQLTRACE_SHUTDOWN</a></li>
2517<li class="page_item page-item-8844"><a href="https://www.sqlshack.com/sql-server-wait-type-tempobj/">TEMPOBJ</a></li>
2518<li class="page_item page-item-8846"><a href="https://www.sqlshack.com/sql-server-wait-type-threadpool/">THREADPOOL</a></li>
2519<li class="page_item page-item-8848"><a href="https://www.sqlshack.com/sql-server-wait-type-tracewrite/">TRACEWRITE</a></li>
2520<li class="page_item page-item-8328"><a href="https://www.sqlshack.com/sql-server-wait-type-waitfor/">WAITFOR</a></li>
2521<li class="page_item page-item-8331"><a href="https://www.sqlshack.com/sql-server-wait-type-write-completion/">WRITE_COMPLETION</a></li>
2522<li class="page_item page-item-8333"><a href="https://www.sqlshack.com/sql-server-wait-type-writelog/">WRITELOG</a></li>
2523<li class="page_item page-item-8320"><a href="https://www.sqlshack.com/sql-server-wait-type-xact-own-transaction/">XACT_OWN_TRANSACTION</a></li>
2524<li class="page_item page-item-8324"><a href="https://www.sqlshack.com/sql-server-wait-type-xactlockinfo/">XACTLOCKINFO</a></li>
2525<li class="page_item page-item-8326"><a href="https://www.sqlshack.com/sql-server-wait-type-xe-live-target-tvf/">XE_LIVE_TARGET_TVF</a></li>
2526</ul></div>
2527		</div>-->
2528
2529
2530
2531		<div class="site-info">
2532
2533<!--<div style="display:inline; text-align:center; vertical-align:text-top; padding-right:1.3em"><a href="https://www.apexsql.com/" target="_blank"><img src="https://www.apexsql.com/images/ApexSQL_Logo.png" style="width:85px;"></a></div>-->
2534<div style="/*display:inline;*/ text-align:center; vertical-align:text-top; /*padding-right:1.3em"*/>
2535<!--<a href="https://www.facebook.com/SQLShack" rel="nofollow" target="_blank"><img src="http://s33046.pcdn.co/wp-content/themes/sqls/images/new_icons/facebook-01.png" ></a>-->
2536<!--<a href="https://twitter.com/SQLShack" rel="nofollow" target="_blank"><img src="http://s33046.pcdn.co/wp-co
2536ntent/themes/sqls/images/new_icons/twitter-01.png" ></a>-->
2537<!--<a href="https://plus.google.com/u/0/+SQLShack/posts" rel="publisher" target="_blank"><img src="http://s33046.pcdn.co/wp-content/themes/sqls/images/new_icons/gplus-01.png" ></a>-->
2538</div>
2539
2540			
2541			<!--Copyright © 2015 SQL Shack. Content is licensed under <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/us/" target="_blank">CC-SA with attribution required</a>-->
2542
2543<!-- © 2019 · <a href="https://www.apexsql.com/" target="_blank">ApexSQL</a> · All Rights Reserved -->
2544
2545
2546
2547
2548
2549		</div><!-- .site-info -->
2550
2551
2552
2553	</footer><!-- #colophon -->
2554
2555
2556</div><!-- #page -->
2557
2558
2559<div style="background-color: #f2f2f2; border-top: 1px solid #d3d3d3; width: 100%; height: 40px;">
2560	<div style="margin: auto 0; text-align: center;">
2561		<p style="font-size: 12px; height: 16px; padding-top: 13px;">&copy; 
2561<script type="text/javascript">document.write((new Date().getFullYear()).toString());</script>
2561 Quest Software Inc. ALL RIGHTS RESERVED. &nbsp; | &nbsp; <a style="color: #535353;" href="https://www.quest.com/legal/gdpr-hq.aspx" target="_blank">GDPR</a> &nbsp; | &nbsp; <a style="color: #535353;" href="https://www.quest.com/legal" target="_blank">Terms of Use</a> &nbsp; | &nbsp; <a style="color: #535353;" href="https://www.quest.com/legal/privacy.aspx" target="_blank">Privacy</a></p>
2562	</div>
2563</div>
2564
2565
2566
2567
2568
2569<script type="speculationrules">
2570{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/sqls/*","/wp-content/themes/twentytwelve/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
2571</script>
vendor: 1 bytes, line 2571
2571
2572<script id="unveil-js" src="http://s33046.pcdn.co/wp-content/plugins/unveil-lazy-load/js/jquery.optimum-lazy-load.min.js?ver=0.3.1"></script>
vendor: 1 bytes, line 2572
2572
2573<script id="pll_cookie_script-js-after">
2574(function() {
2575				var expirationDate = new Date();
2576				expirationDate.setTime( expirationDate.getTime() + 31536000 * 1000 );
2577				document.cookie = "pll_language=en; expires=" + expirationDate.toUTCString() + "; path=/; SameSite=Lax";
2578			}());
2579
2580//# sourceURL=pll_cookie_script-js-after
2581</script>
vendor: 1 bytes, line 2581
2581
2582<script id="wpfront-scroll-top-js-extra">
2583var wpfront_scroll_top_data = {"data":{"css":"#wpfront-scroll-top-container{position:fixed;cursor:pointer;z-index:9999;border:none;outline:none;background-color:rgba(0,0,0,0);box-shadow:none;outline-style:none;text-decoration:none;opacity:0;display:none;align-items:center;justify-content:center;margin:0;padding:0}#wpfront-scroll-top-container.show{display:flex;opacity:1}#wpfront-scroll-top-container .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#wpfront-scroll-top-container .text-holder{padding:3px 10px;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:4px 4px 5px 0px rgba(50,50,50,.5);-moz-box-shadow:4px 4px 5px 0px rgba(50,50,50,.5);box-shadow:4px 4px 5px 0px rgba(50,50,50,.5)}#wpfront-scroll-top-container{right:20px;bottom:20px;}#wpfront-scroll-top-container img{width:auto;height:auto;}#wpfront-scroll-top-container .text-holder{color:#ffffff;background-color:#000000;width:auto;height:auto;;}#wpfront-scroll-top-container .text-holder:hover{background-color:#000000;}#wpfront-scroll-top-container i{color:#000000;}","html":"\u003Cbutton id=\"wpfront-scroll-top-container\" aria-label=\"\" title=\"\" \u003E\u003Cimg src=\"http://s33046.pcdn.co/wp-content/plugins/wpfront-scroll-top/includes/assets/icons/35.png\" alt=\"\" title=\"\"\u003E\u003C/button\u003E","data":{"hide_iframe":false,"button_fade_duration":200,"auto_hide":true,"auto_hide_after":5,"scroll_offset":100,"button_opacity":0.6,"button_action":"top","button_action_element_selector":"","button_action_container_selector":"html, body","button_action_element_offset":0,"scroll_duration":400}}};
2584//# sourceURL=wpfront-scroll-top-js-extra
2585</script>
vendor: 1 bytes, line 2585
2585
2586<script data-wp-strategy="defer" defer id="wpfront-scroll-top-js" src="http://s33046.pcdn.co/wp-content/plugins/wpfront-scroll-top/includes/assets/wpfront-scroll-top.min.js?ver=3.0.1.09211"></script>
vendor: 1 bytes, line 2586
2586
2587<script id="custom-js-js" src="http://s33046.pcdn.co/wp-content/themes/sqls/js/custom.js?ver=1.0.0"></script>
vendor: 1 bytes, line 2587
2587
2588<script id="twentytwelve-navigation-js" src="http://s33046.pcdn.co/wp-content/themes/twentytwelve/js/navigation.js?ver=20141205"></script>
vendor: 1 bytes, line 2588
2588
2589<script id="urvanov_syntax_highlighter_js-js-extra">
2590var UrvanovSyntaxHighlighterSyntaxSettings = {"version":"2.9.1","is_admin":"0","ajaxurl":"https://www.sqlshack.com/wp-admin/admin-ajax.php","prefix":"urvanov-syntax-highlighter-","setting":"urvanov-syntax-highlighter-setting","selected":"urvanov-syntax-highlighter-setting-selected","changed":"urvanov-syntax-highlighter-setting-changed","special":"urvanov-syntax-highlighter-setting-special","orig_value":"data-orig-value","debug":""};
2591var UrvanovSyntaxHighlighterSyntaxStrings = {"copy":"Copied to the clipboard","minimize":"Click To Expand Code"};
2592//# sourceURL=urvanov_syntax_highlighter_js-js-extra
2593</script>
vendor: 1 bytes, line 2593
2593
2594<script id="urvanov_syntax_highlighter_js-js" src="http://s33046.pcdn.co/wp-content/plugins/urvanov-syntax-highlighter/js/min/urvanov_syntax_highlighter.min.js?ver=2.9.1"></script>
vendor: 1 bytes, line 2594
2594
2595<script id="wp-emoji-settings" type="application/json">
2596{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"http://s33046.pcdn.co/wp-includes/js/wp-emoji-release.min.js?ver=7.1.2"}}
2597</script>
vendor: 1 bytes, line 2597
2597
2598<script type="module">
2599/*! This file is auto-generated */
2600var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))});
2601//# sourceURL=http://www.sqlshack.com/wp-includes/js/wp-emoji-loader.min.js
2602</script>
2602
2603
2604
2605<script src="/wp-content/uploads/apexsql/js/top_banner.js" type="text/javascript"></script>
vendor: 1 bytes, line 2605
2605
2606<script src="/wp-content/uploads/apexsql/js/warnCookies.js" type="text/javascript"></script>
2606
2607
2608<script language="JavaScript" type="text/javascript">
2609	checkCookieExist();
2610</script>
2610
2611
2612<!-- Go to www.addthis.com/dashboard to customize your tools -->
2613<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-57d1122d476e0f92"></script>
2613
2614
2615<!-- The bottom right banner to float -->
2616<script type="text/javascript">
2617var beforeBannner = jQuery("#custom_html-2");
2618var beforeBannnerHeight = jQuery("#custom_html-2").height();
2619        jQuery(window).on('scroll', function () {
2620			if(jQuery(window).width() >= 1001) 
2621			{
2622				jQuery(window).scroll(function() {
2623				  var banner = jQuery('#text-7');
2624				  var window_offset = banner.offset().top - jQuery(window).scrollTop();
2625				  
2626				  if(window_offset <= 10){
2627					  jQuery('#text-7').css('position', 'fixed');
2628					  jQuery('#text-7').css('top', '10px');
2629					}
2630					var beforeBannnerOffset = beforeBannner.offset().top - jQuery(window).scrollTop();
2631				  if((beforeBannnerOffset + beforeBannnerHeight + 17) >= 0) {
2632					  jQuery('#text-7').css('position', 'relative');
2633					  jQuery('#text-7').css('top', '');
2634					}
2635				});
2636			}
2637		});
2638
2639</script>
vendor: 1 bytes, line 2639
2639
2640<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"c27add20bd","applicationID":"1775828440","transactionName":"ZgZUZUNVWUMHVkYPXV9Md1JFXVheSVxcAldJ","queueTime":0,"applicationTime":540,"atts":"SkFXEwtPSk0=","errorBeacon":"bam.nr-data.net","agent":""}</script>
2640</body>
2641
2642
2643
2644</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.