{"id":2495,"date":"2024-02-23T19:10:08","date_gmt":"2024-02-23T16:10:08","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=2495"},"modified":"2024-02-23T19:10:43","modified_gmt":"2024-02-23T16:10:43","slug":"sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/","title":{"rendered":"SQL sorgular\u0131n\u0131 23x h\u0131zland\u0131rmak m\u00fcmk\u00fcn m\u00fc?"},"content":{"rendered":"\n<p>Merhaba, Senaryomuzda 700.000&#8217;den fazla kayd\u0131n bulundu\u011fu g\u00f6nderim tablomuz korkun\u00e7 bir performans sergiliyor.\u00a0Tablodan veri almak i\u00e7in gereken maksimum s\u00fcre 6 saniyeden fazla.<\/p>\n\n\n\n<p>Sorgu olduk\u00e7a basitti.\u00a0Elimizde olan tek \u015fey 4 join, birka\u00e7 where c\u00fcmleci\u011fi (yakla\u015f\u0131k 4), order( created_at time alan\u0131nda DESC), s\u0131n\u0131rlama <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sorun kayna\u011f\u0131 \u00e7\u00f6z\u00fcmlemesi..<\/h2>\n\n\n\n<p>G\u00f6nderim tablomuzda kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z b\u00fcy\u00fck yava\u015flamaya neden olan birka\u00e7 nokta \u015funlar:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00c7\u00f6z\u00fcm 1: Index olu\u015fturma<\/h3>\n\n\n\n<p>\u0130nsanlar milyonlarca sat\u0131rla bo\u011fu\u015fuyor, bizimki bunun sadece basit bir \u00f6rnek, yani yanl\u0131\u015f yapt\u0131\u011f\u0131m\u0131z bir \u015feyler olmal\u0131.\u00a0Do\u011fru indeksleme size sorgular\u0131n\u0131zda h\u0131z a\u00e7\u0131s\u0131ndan \u00e7ok yard\u0131mc\u0131 olacakt\u0131r. \u0130lk d\u00fc\u015f\u00fcnece\u011fimiz nokta bu.<\/p>\n\n\n\n<p>Herhangi bir optimizasyon olmadan her \u015feyin \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131 index ekledikten sonra ortalama\u00a0<strong>2,3 saniye<\/strong>&#8216;ye d\u00fc\u015ft\u00fc.\u00a0(elbette bu s\u00fcre yaln\u0131zca sorgunun veritaban\u0131 \u00fczerinde \u00e7al\u0131\u015ft\u0131r\u0131lma s\u00fcresini i\u00e7ermez, ayn\u0131 zamanda verilerin a\u011f \u00fczerinden yay\u0131lmas\u0131 s\u00fcresini de i\u00e7erir)<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/02\/Screenshot_17-1.png\"><img fetchpriority=\"high\" decoding=\"async\" width=\"669\" height=\"240\" src=\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/02\/Screenshot_17-1.png\" alt=\"\" class=\"wp-image-2497\" srcset=\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/02\/Screenshot_17-1.png 669w, https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/02\/Screenshot_17-1-300x108.png 300w, https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/02\/Screenshot_17-1-500x179.png 500w, https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/02\/Screenshot_17-1-400x143.png 400w, https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/02\/Screenshot_17-1-200x72.png 200w, https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/02\/Screenshot_17-1-50x18.png 50w\" sizes=\"(max-width: 669px) 100vw, 669px\" \/><\/a><\/figure><\/div>\n\n\n<p>S\u00fctunlara indekslemeyi ekledikten sonra, s\u00fcrenin k\u0131sald\u0131\u011f\u0131n\u0131 \u00f6\u011frencik, ancak bu yeterli de\u011fil.\u00a0<strong>H\u00e2l\u00e2 2 saniye<\/strong>\u00a0civar\u0131nda\u00a0ve \u00e7o\u011fu zaman bundan daha fazla s\u00fcrede yan\u0131t d\u00f6n\u00fcyor.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00c7\u00f6z\u00fcm 2: Bo\u015f Dize (Empty string) hatas\u0131<\/h3>\n\n\n\n<p>Kullan\u0131c\u0131 herhangi bir giri\u015fe herhangi bir \u015fey yazmad\u0131ysa, bu \u00e7o\u011funlukla sayfan\u0131n ilk y\u00fcklendi\u011fi ve API \u00e7a\u011fr\u0131s\u0131n\u0131n herhangi bir filtreleme olmadan yaln\u0131zca en son verileri almak i\u00e7in yap\u0131ld\u0131\u011f\u0131 s\u0131rada ger\u00e7ekle\u015fir.<br><\/p>\n\n\n\n<p>Yani k\u0131sacas\u0131 string alan tipi i\u00e7erisindeki &#8220;&#8221; de\u011ferlerini empty\/null gibi tan\u0131mlad\u0131\u011f\u0131m\u0131zda sorgu s\u00fcresi\u00a0<strong>2,3 saniyeden 1,3 saniyeye<\/strong>\u00a0indi.<\/p>\n\n\n\n<p>Tamam, do\u011fru y\u00f6nde ilerliyoruz.\u00a0<strong>Tam 1 saniyeyi k\u0131saltt\u0131k ama yine de 200\/150 ms&#8217;nin<\/strong>\u00a0alt\u0131na inmek zorunday\u0131z, yani daha gidecek \u00e7ok yolumuz var.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00c7\u00f6z\u00fcm 3: Gereksiz birle\u015ftirmeler (Join)<\/h3>\n\n\n\n<p>G\u00f6nderimleri sorgularken zorunlu olmayan tablolarla birle\u015ftirmeler yap\u0131yoruz.\u00a0Bu y\u00fczden koda t\u00fcm bunlar eklendi\u011finde onu kald\u0131rd\u0131k ama bu, inceleyenlerin pek fazla dikkat etmedi\u011fini g\u00f6steriyor <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00c7\u00f6z\u00fcm 4: ORM<\/h3>\n\n\n\n<p>TypeORM&#8217;in geli\u015ftiricilere JSON benzeri nesneleri kullanarak SQL sorgular\u0131 olu\u015fturmam\u0131z\u0131 sa\u011flad\u0131\u011f\u0131\u00a0<strong>aktif kay\u0131t modeli<\/strong>\u00a0ad\u0131 verilen bir \u015fey var, bir \u00f6rnek ile anlatmak gerekirse,<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>model.find({\r\n      select: { userName : true, firstName : true },\r\n      where: { userName : \u201cSomeUsername\u201d },\r\n      relations: { user : true, contest: true, problem: true },\r\n      order: { created_at : \u201cASC\/DESC\u201d ,\r\n      skip: 0,\r\n      take: 10,\r\n})<\/code><\/pre>\n\n\n\n<p>Bu geli\u015ftirmeyi h\u0131zl\u0131 ve kolay hale getirir ve ham SQL sorgular\u0131 yazma konusunda iyi olmayan bir geli\u015ftirici i\u00e7in \u00e7ok sezgisel hissettirir, bu y\u00f6ntem ile kelimenin tam anlam\u0131yla SQL sorgular\u0131 olu\u015fturmak i\u00e7in JSON nesneleri olu\u015fturuyorsunuz.<\/p>\n\n\n\n<p>Bu yakla\u015f\u0131m iyi g\u00f6r\u00fcn\u00fcyor ve \u00e7o\u011fu zaman i\u015fe yar\u0131yor ama bizim durumumuzda \u00e7ok aptalca bir \u015fey yap\u0131yordu, sorguyu kendiniz g\u00f6rebilmeniz i\u00e7in ne yapt\u0131\u011f\u0131n\u0131 yazmayaca\u011f\u0131m.<\/p>\n\n\n\n<p>K\u0131saca iki sorgu \u00e7al\u0131\u015ft\u0131r\u0131yordu, \u00f6ncelikle bu durumda hi\u00e7 ihtiya\u00e7 duyulmuyordu, daha sonra yaz\u0131p test etti\u011fim basit ve tek bir sorguyla kolayl\u0131kla yap\u0131labilirdi.<\/p>\n\n\n\n<p>Yaln\u0131zca iki ayr\u0131 sorgu \u00e7al\u0131\u015ft\u0131rmakla kalm\u0131yordu, ayn\u0131 zamanda d\u00f6rt tabloyu her iki sorgu i\u00e7in de iki kez birle\u015ftiriyor ve ard\u0131ndan da s\u0131ral\u0131yordu. her ikisinde de iki kez.\u00a0(Bu kelimenin tam anlam\u0131yla hi\u00e7bir anlam ifade etmiyor)<br>Performans\u0131n en \u00e7ok darbe ald\u0131\u011f\u0131 yer buras\u0131yd\u0131.\u00a0A\u015fa\u011f\u0131daki sorgulara kendiniz bir g\u00f6z at\u0131n.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT DISTINCT \r\n`distinctAlias`.`Submission_id` AS `ids_Submission_id`, `distinctAlias`.`Submission_created_at` \r\nFROM (SELECT `Submission`.`id` AS `Submission_id`, ... more selects \r\nFROM `submission` `Submission` \r\nLEFT JOIN `problem` `SubmissionSubmission_problem` \r\nON `SubmissionSubmission_problem`.`id`=`Submission`.`problemId`  LEFT JOIN \r\n`user` `SubmissionSubmission_user` \r\nON `Submission_Submission_user`.`id`=`Submission`.`userId`) `distinctAlias` \r\nORDER BY `distinctAlias`.`Submission_created_at` DESC, `Submission_id` \r\nASC LIMIT 10<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT `Submission`.`id` \r\nAS `Submission_id`, `Submission`.`language` \r\nAS `Submission_language`, `Submission`.`verdictCode` \r\nAS `Submission_verdictCode`, `Submission`.`tokens`\r\n... shit ton of selects \r\nFROM `submission` `Submission` \r\nLEFT JOIN `problem` `SubmissionSubmission_problem` \r\nON `SubmissionSubmission_problem`.`id`=`Submission`.`problemId`  LEFT JOIN `user` `SubmissionSubmission_user` \r\nON `Submission_Submission_user`.`id`=`Submission`.`userId` WHERE `Submission`.`id` \r\nIN (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) \r\nORDER BY `Submission`.`created_at` \r\nDESC\n<\/code><\/pre>\n\n\n\n<p>2 ayr\u0131 sorguyla yapmaya \u00e7al\u0131\u015f\u0131lan \u015feyin ayn\u0131s\u0131n\u0131 yapmak i\u00e7in basit bir tek SQL sorgusu yaz\u0131ld\u0131<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT\r\n  Submission.id,\r\n  Submission.language,\r\n  Submission.verdictCode,\r\n...\r\nFROM\r\n  submission AS Submission\r\n  LEFT JOIN problem ...\r\n  LEFT JOIN user ...\r\nORDER BY\r\n  Submission.created_at DESC\r\nLIMIT 10<\/code><\/pre>\n\n\n\n<p>Ve bu sorguyu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131m\u0131zda sadece\u00a0<strong>100 ms&#8217;de \u00e7al\u0131\u015ft\u0131.<\/strong><\/p>\n\n\n\n<p><strong>B\u00f6ylece 1,3<\/strong>\u00a0saniyeden\u00a0<strong>100 ms&#8217;ye<\/strong>\u00a0, Genel olarak\u00a0<strong>2,3<\/strong>\u00a0saniyeden\u00a0<strong>100 ms&#8217;ye<\/strong>\u00a0indik.<\/p>\n\n\n\n<p>Bu da 23 kattan fazla performans art\u0131\u015f\u0131 anlam\u0131na geliyor&nbsp;<strong>.<\/strong><\/p>\n\n\n\n<p>Okudu\u011funuz i\u00e7in te\u015fekk\u00fcr ederim.<\/p>\n","protected":false},"excerpt":{"rendered":"Merhaba, Senaryomuzda 700.000&#8217;den fazla kayd\u0131n bulundu\u011fu g\u00f6nderim tablomuz korkun\u00e7 bir performans sergiliyor.\u00a0Tablodan veri almak i\u00e7in gereken maksimum s\u00fcre&hellip;","protected":false},"author":1,"featured_media":2499,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[140,138,644,121],"tags":[829,830,828,827],"class_list":{"0":"post-2495","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-ms-sql-server","8":"category-mysql","9":"category-postgresql","10":"category-sql","11":"tag-sorgu-hizlandirma","12":"tag-sorgu-sure-hizlandirma","13":"tag-sql-hizlandirma","14":"tag-sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir","15":"cs-entry","16":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>SQL sorgular\u0131n\u0131 23x h\u0131zland\u0131rmak m\u00fcmk\u00fcn m\u00fc? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQL sorgular\u0131n\u0131 23x h\u0131zland\u0131rmak m\u00fcmk\u00fcn m\u00fc?\" \/>\n<meta property=\"og:description\" content=\"Merhaba, Senaryomuzda 700.000&#8217;den fazla kayd\u0131n bulundu\u011fu g\u00f6nderim tablomuz korkun\u00e7 bir performans sergiliyor.\u00a0Tablodan veri almak i\u00e7in gereken maksimum s\u00fcre&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2024-02-23T16:10:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-23T16:10:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/02\/create_azure.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1640\" \/>\n\t<meta property=\"og:image:height\" content=\"924\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"SQL sorgular\u0131n\u0131 23x h\u0131zland\u0131rmak m\u00fcmk\u00fcn m\u00fc?\",\"datePublished\":\"2024-02-23T16:10:08+00:00\",\"dateModified\":\"2024-02-23T16:10:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/\"},\"wordCount\":620,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"image\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/02\/create_azure.png\",\"keywords\":[\"sorgu h\u0131zland\u0131rma\",\"sorgu s\u00fcre h\u0131zland\u0131rma\",\"sql h\u0131zland\u0131rma\",\"SQL Sorgular\u0131n\u0131 23x h\u0131zland\u0131rmak nas\u0131l m\u00fcmk\u00fcn olabilir?\"],\"articleSection\":[\"MS SQL Server\",\"MySQL\",\"PostgreSQL\",\"SQL\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/#respond\"]}],\"copyrightYear\":\"2024\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/\",\"name\":\"SQL sorgular\u0131n\u0131 23x h\u0131zland\u0131rmak m\u00fcmk\u00fcn m\u00fc? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/02\/create_azure.png\",\"datePublished\":\"2024-02-23T16:10:08+00:00\",\"dateModified\":\"2024-02-23T16:10:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/#primaryimage\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/02\/create_azure.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/02\/create_azure.png\",\"width\":1640,\"height\":924},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQL sorgular\u0131n\u0131 23x h\u0131zland\u0131rmak m\u00fcmk\u00fcn m\u00fc?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SQL sorgular\u0131n\u0131 23x h\u0131zland\u0131rmak m\u00fcmk\u00fcn m\u00fc? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/","og_locale":"tr_TR","og_type":"article","og_title":"SQL sorgular\u0131n\u0131 23x h\u0131zland\u0131rmak m\u00fcmk\u00fcn m\u00fc?","og_description":"Merhaba, Senaryomuzda 700.000&#8217;den fazla kayd\u0131n bulundu\u011fu g\u00f6nderim tablomuz korkun\u00e7 bir performans sergiliyor.\u00a0Tablodan veri almak i\u00e7in gereken maksimum s\u00fcre&hellip;","og_url":"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2024-02-23T16:10:08+00:00","article_modified_time":"2024-02-23T16:10:43+00:00","og_image":[{"width":1640,"height":924,"url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/02\/create_azure.png","type":"image\/png"}],"author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"4 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"SQL sorgular\u0131n\u0131 23x h\u0131zland\u0131rmak m\u00fcmk\u00fcn m\u00fc?","datePublished":"2024-02-23T16:10:08+00:00","dateModified":"2024-02-23T16:10:43+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/"},"wordCount":620,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"image":{"@id":"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/02\/create_azure.png","keywords":["sorgu h\u0131zland\u0131rma","sorgu s\u00fcre h\u0131zland\u0131rma","sql h\u0131zland\u0131rma","SQL Sorgular\u0131n\u0131 23x h\u0131zland\u0131rmak nas\u0131l m\u00fcmk\u00fcn olabilir?"],"articleSection":["MS SQL Server","MySQL","PostgreSQL","SQL"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/#respond"]}],"copyrightYear":"2024","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/","url":"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/","name":"SQL sorgular\u0131n\u0131 23x h\u0131zland\u0131rmak m\u00fcmk\u00fcn m\u00fc? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/#primaryimage"},"image":{"@id":"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/02\/create_azure.png","datePublished":"2024-02-23T16:10:08+00:00","dateModified":"2024-02-23T16:10:43+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/"]}]},{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/#primaryimage","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/02\/create_azure.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/02\/create_azure.png","width":1640,"height":924},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/sql-sorgularini-23x-hizlandirmak-nasil-mumkun-olabilir\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"SQL sorgular\u0131n\u0131 23x h\u0131zland\u0131rmak m\u00fcmk\u00fcn m\u00fc?"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/2495","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=2495"}],"version-history":[{"count":4,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/2495\/revisions"}],"predecessor-version":[{"id":2501,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/2495\/revisions\/2501"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media\/2499"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=2495"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=2495"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=2495"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}