{"23046":{"id":23046,"votes":3,"views":0,"text":"Redakcyjnie: troch\u0119 liter\u00f3wek (T-Tree, w podsumowaniu brakuje s\u0142\u00f3wek), liczby si\u0119 nie wy\u015bwietlaj\u0105 (czyli nie wiem, ile maksymalnie dzieci ma drzewko B+). No i obrazki bardzo \u0142adne.\r\nTechnicznie: fajne, mog\u0142oby by\u0107 tego wi\u0119cej (mo\u017ce druga cz\u0119\u015b\u0107 by si\u0119 przyda\u0142a). Brakuje mi na przyk\u0142ad opisu od\u015bwie\u017cania indeksu (czy da si\u0119 online, czy offline, czy mo\u017cna go przebudowa\u0107 od zera i takie tam), jak zrobi\u0107 indeks na widoku (zak\u0142adaj\u0105c, \u017ce si\u0119 da), jak s\u0105 binarnie przechowywanie drugorz\u0119dne indeksy (czy trzymaj\u0105 PK czy mo\u017ce jako\u015b inaczej), co z fragmentacj\u0105, no i co z optymalizatorem przy u\u017cywaniu indeks\u00f3w.","html":"
Redakcyjnie: troch\u0119 liter\u00f3wek (T-Tree, w podsumowaniu brakuje s\u0142\u00f3wek), liczby si\u0119 nie wy\u015bwietlaj\u0105 (czyli nie wiem, ile maksymalnie dzieci ma drzewko B+). No i obrazki bardzo \u0142adne.
\nTechnicznie: fajne, mog\u0142oby by\u0107 tego wi\u0119cej (mo\u017ce druga cz\u0119\u015b\u0107 by si\u0119 przyda\u0142a). Brakuje mi na przyk\u0142ad opisu od\u015bwie\u017cania indeksu (czy da si\u0119 online, czy offline, czy mo\u017cna go przebudowa\u0107 od zera i takie tam), jak zrobi\u0107 indeks na widoku (zak\u0142adaj\u0105c, \u017ce si\u0119 da), jak s\u0105 binarnie przechowywanie drugorz\u0119dne indeksy (czy trzymaj\u0105 PK czy mo\u017ce jako\u015b inaczej), co z fragmentacj\u0105, no i co z optymalizatorem przy u\u017cywaniu indeks\u00f3w.<\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23046","created_at":"2017-11-02T18:51:44+01:00","updated_at":"2017-11-02T18:51:44+01:00","comments":[],"user":{"id":24113,"name":"Afish","is_online":false,"photo":null,"deleted_at":null,"is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6InN3MGN1aG45RnpsaG9PWVhHdlhDbUE9PSIsInZhbHVlIjoiYUYrUUJKT2lUQ0plWklhS1RzUWlheEIyR2luSWpsWE55SHRkNHZoZXh2UTYzKzlGbkxBa3dTdGE3b2tLYlRuWSIsIm1hYyI6ImUyZTJkZjdlNjlkMzE5Nzc1YzkzZWFkMTE3NWYzN2Y1Y2VmOGFlM2ExNmQ4ZGU0ZTE5NzVlMzQ4ZWJlNWRjMWUiLCJ0YWciOiIifQ==","deleted_at":null},"23051":{"id":23051,"votes":0,"views":0,"text":"@Afish: dzi\u0119ki za uwagi :) je\u015bli chodzi o optymalizacj\u0119, to mo\u017cna co najmniej kilka post\u00f3w jeszcze wyskroba\u0107, cho\u0107by o partycjonowaniu :) dzi\u0119ki za zwr\u00f3cenie uwagi na liter\u00f3wki. Cyfry (a raczej wzory matematyczne) co\u015b si\u0119 posypa\u0142y... spr\u00f3buj\u0119 to naprawi\u0107. Dzi\u0119ki!","html":"
@Afish<\/a>: dzi\u0119ki za uwagi :) je\u015bli chodzi o optymalizacj\u0119, to mo\u017cna co najmniej kilka post\u00f3w jeszcze wyskroba\u0107, cho\u0107by o partycjonowaniu :) dzi\u0119ki za zwr\u00f3cenie uwagi na liter\u00f3wki. Cyfry (a raczej wzory matematyczne) co\u015b si\u0119 posypa\u0142y... spr\u00f3buj\u0119 to naprawi\u0107. Dzi\u0119ki!<\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23051","created_at":"2017-11-03T08:01:23+01:00","updated_at":"2017-11-03T08:01:23+01:00","comments":[],"user":{"id":23850,"name":"no_solution_found","is_online":false,"photo":"https:\/\/4programmers.net\/uploads\/photo\/506ea76720067.jpg","deleted_at":null,"is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6IjVZaTBPQ3F0UFBpd1Vsc0xIYy9VT2c9PSIsInZhbHVlIjoiZ2s5SmpHWWsydXZnTTQrQkJCRzZSQlhnSjBySGQ0UWpiZkd5Y3JrK2Z3Rys0N0c4NUdiLzZMWTByM3BkVll3byIsIm1hYyI6IjIyNGZhOTNlYWI3NTcxYzIyNTJjNzAxODMyZjI2Y2Q3ZjkwYTZkODQ3ZDc4MDJhNWY2YzdmMTJiYjVkNTRiNWUiLCJ0YWciOiIifQ==","deleted_at":null},"23057":{"id":23057,"votes":0,"views":0,"text":"angielski troch\u0119 \u015bredni :\/","html":" angielski troch\u0119 \u015bredni :\/<\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23057","created_at":"2017-11-03T12:54:40+01:00","updated_at":"2017-11-03T12:54:40+01:00","comments":[],"user":{"id":56536,"name":"spartanPAGE","is_online":false,"photo":"https:\/\/4programmers.net\/uploads\/photo\/56019e8e48cfc.jpg","deleted_at":null,"is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6ImxXZTJpMnhNa2lDYlhaQXRBMEpielE9PSIsInZhbHVlIjoiUjRvVmc2d1pqTDgwcFBwS0ppWmJtRE5QTnRNNmE2SWZWVlFrSXYvaVBFVlk0MWlaa1h5TEt6TWVLVitWLzhJSiIsIm1hYyI6IjlhMTk4NTMxZTEzNjBlYzNjOWZhZjE3OGI2YWRiNGQxN2IxOTFhODZjMWMxZmRmMjYzNjY3ZTJhOGM5MzQzYzAiLCJ0YWciOiIifQ==","deleted_at":null},"23059":{"id":23059,"votes":0,"views":0,"text":"Tego si\u0119 nie da czyta\u0107, zainwestuj w jakie\u015b Grammarly czy co\u015b (chocia\u017c to nie rozwi\u0105\u017ce wszystkich problem\u00f3w). Mn\u00f3stwo b\u0142\u0119d\u00f3w gramatycznych, ortograficznch i interpunkcyjnych (przecinki u Ciebie nie istniej\u0105), niekt\u00f3re zdania bez sensu, t\u0142umaczenia 1:1, polski szyk zda\u0144 - og\u00f3lnie strasznie niechlujnie i niezrozumiale.","html":" Tego si\u0119 nie da czyta\u0107, zainwestuj w jakie\u015b Grammarly czy co\u015b (chocia\u017c to nie rozwi\u0105\u017ce wszystkich problem\u00f3w). Mn\u00f3stwo b\u0142\u0119d\u00f3w gramatycznych, ortograficznch i interpunkcyjnych (przecinki u Ciebie nie istniej\u0105), niekt\u00f3re zdania bez sensu, t\u0142umaczenia 1:1, polski szyk zda\u0144 - og\u00f3lnie strasznie niechlujnie i niezrozumiale.<\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23059","created_at":"2017-11-03T14:05:20+01:00","updated_at":"2017-11-03T14:05:20+01:00","comments":[],"user":{"id":71764,"name":"Maciej C\u0105derek","is_online":false,"photo":"https:\/\/4programmers.net\/uploads\/photo\/5f\/5f9c30ddbf436.png","deleted_at":"2022-01-07T23:58:58.000000Z","is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6IjRmU3k4Y2N6RjFOcnpDV0hFL2pUR0E9PSIsInZhbHVlIjoiVGJ5aStxUGRiZCtyS0lHOWNFOWlpa0ZJRDdWdXBEVkxnV0VsQ0YxTFRWS1ZtK2kvVlZpODJSZlU0NUFLVzQzNCIsIm1hYyI6ImRkNjZmYzNlNjcwODEzM2I5YWMyZDc5NTJjMjg1OGNhYzZjNGJmNzI4MmI3OGQ5MjE1YWEwNDcwYjBmYWJjMjEiLCJ0YWciOiIifQ==","deleted_at":null},"23061":{"id":23061,"votes":0,"views":0,"text":"`Searching a row in a sorted file with N length takes comparisons and the same number of reads from a filesystem which is heavy itself.`\r\nSkoro jest sorted, to wyszukowanie trwa ~log2n. Ilo\u015b\u0107 por\u00f3wna\u0144 jest wi\u0119ksza od ilo\u015bci odczyt\u00f3w, bo odczyty s\u0105 buforowane. Gramatyka zacytowanego zdania pozostawia bardzo wiele do \u017cyczenia.\r\n\r\n`However, tables in databases are not sorted which complicates the operation, Furthermore, if you have a lot of reads, updates and deletions on them.`\r\nIndeks klastruj\u0105cy sortuje tabel\u0119 (wymusza fizyczn\u0105 kolejno\u015b\u0107 danych).\r\nDu\u017co odczyt\u00f3w = indeks b\u0119dzie po\u017c\u0105dany, du\u017co zapis\u00f3w = indeks nie b\u0119dzie po\u017c\u0105dany, du\u017co odczyt\u00f3w i du\u017co zapis\u00f3w = problem.\r\nGramatyka i ortografia cytowanego zdania jest s\u0142aba.\r\n\r\n`Writing the sorted version of the file (table) would dramatically slow the database down.`\r\nZajmie tyle czasu, ile utworzenie indeksu z do\u0142\u0105czonymi wszystkimi kolumnami. Zwykle kwestia kilku sekund. Tabela z jakimkolwiek indeksem klastruj\u0105cym jest zawsze posortowana (BTW PK to indeks klastruj\u0105cy, przynajmniej tak jest na MSSQL), a dzia\u0142ania na niej zwykle nie s\u0105 \"dramatically slow\".\r\n\r\n`One more thing makes it even more complicated - every table may be sorted in more than one order.`\r\nJedna tabela nie mo\u017ce by\u0107 jednocze\u015bnie posortowana na kilka sposob\u00f3w. Posortowane s\u0105 dane w wielu indeksach na tej samej tabeli.\r\n\r\n`That\u2019s why we use indexes which holds only attributes used in sorting and reference to a place where the data are kept.`\r\nBardzo du\u017ce uproszczenie. Za\u0142o\u017cenie takiego indeksu pomaga tylko przy wyszukiwaniu pojedy\u0144czych rekord\u00f3w. Je\u015bli szukasz przedzia\u0142u albo robisz z\u0142\u0105czenie, to taki indeks mo\u017ce by\u0107 zignorowany lub dodatkowo spowolni zapytanie. Dlaczego? Bo dla ka\u017cdej znalezionej w indeksie referencji trzeba jeszcze doczyta\u0107 faktyczne dane, do kt\u00f3rych indeks si\u0119 odnosi (tzw. `key lookup`). Dlatego wydajne (przy select) indeksy zawieraj\u0105 jeszcze wybrane kolumny z tabeli (`include` w MSSQL), wtedy baza danych nie musi dotyka\u0107 samej tabeli.\r\nGramatyka zacytowanego zdania pozostawia wiele do \u017cyczenia: \"indexes which hold\", a nie \"holds\", \"data is kept\" - data to liczba pojedy\u0144cza.","html":" Na 4programmers mamy najlepszych recenzent\u00f3w :D<\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23067","created_at":"2017-11-03T19:45:48+01:00","updated_at":"2017-11-03T19:45:48+01:00","comments":[],"user":{"id":72192,"name":"Desu","is_online":false,"photo":null,"deleted_at":null,"is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6ImhLRGQxYXVuSXlTM1N1RnlFN2paZ0E9PSIsInZhbHVlIjoiSngvS2ZwNGNHM0dCbXQxODBGN240SFA3N3ZkOFp3dFg0VmxwQmNHc28ybDR0djlOTUNqVW1hOGxQSjFXUVFKbSIsIm1hYyI6ImJhYzdlNWNiZTY0ZGZiYTRmZjhhYjY3Yjg4MGRlODU0MjY4ODY5NzVmNmE5YTZkNDczZjZkYmRmZjNiZWNkNDQiLCJ0YWciOiIifQ==","deleted_at":null},"23079":{"id":23079,"votes":0,"views":0,"text":"@\u0141F: ```Tabela z jakimkolwiek indeksem klastruj\u0105cym jest zawsze posortowana``` Jak ju\u017c tak wchodzimy w szczeg\u00f3\u0142y, to o ile koncepcyjnie jest to prawda, to w rzeczywisto\u015bci niekoniecznie. W MSSQL tabela z indeksem klastruj\u0105cym mo\u017ce nie by\u0107 posortowana fizycznie na dysku, ale zawsze jest posortowana logicznie. Jest to spowodowane fragmentacj\u0105 zewn\u0119trzn\u0105. Co wi\u0119cej, efekt mo\u017ce by\u0107 taki, \u017ce gdy robimy full index scan (czyli przyk\u0142adowo ```SELECT * FROM tabela``` na tabeli klastrowanej), mo\u017cemy otrzyma\u0107 dane nieposortowane, bo tak s\u0105 odczytane z dysku (z tego te\u017c wzgl\u0119du zawsze trzeba dorzuci\u0107 ```ORDER BY```).","html":" @\u0141F<\/a>: @\u0141F<\/a> PK w MS SQL domy\u015blnie jest indeksem grupuj\u0105cym, ale mo\u017cna to na tabeli zdefiniowa\u0107 inaczej i da\u0107 grupowanie do innego indeksu<\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23081","created_at":"2017-11-04T09:41:14+01:00","updated_at":"2017-11-04T09:41:14+01:00","comments":[],"user":{"id":780,"name":"Panczo","is_online":true,"photo":null,"deleted_at":null,"is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6Im8zSlBrL0h5U1p1QkJGcDAyUFoySlE9PSIsInZhbHVlIjoiaVRINEJKQ2pqSDhwS2t0Y01VbTU0dG1zbWxORkV5c1pPZEFOYU9lU0daL2ZpcEp0dU5INk1HdnJJMTArek5sZSIsIm1hYyI6IjcyOWI3MjhhODI1NjI1M2IwMWY5NTdkZmM4YjBjZWZlZjA0MTE3Y2RkMzU5ZGVjOTRlZTM2NDUyOGI0NTQ5NmIiLCJ0YWciOiIifQ==","deleted_at":null},"23092":{"id":23092,"votes":0,"views":0,"text":"Chcia\u0142bym zauwa\u017cy\u0107, \u017ce pisz\u0119 tu o MYSQL :)","html":" Chcia\u0142bym zauwa\u017cy\u0107, \u017ce pisz\u0119 tu o MYSQL :)<\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23092","created_at":"2017-11-04T15:59:35+01:00","updated_at":"2017-11-04T15:59:35+01:00","comments":[],"user":{"id":23850,"name":"no_solution_found","is_online":false,"photo":"https:\/\/4programmers.net\/uploads\/photo\/506ea76720067.jpg","deleted_at":null,"is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6ImN2UnllTWtuNGovSFkzM0U0QWIzUWc9PSIsInZhbHVlIjoiM1pJNm5aaC9sQVZnTzhHajNPQUF6NlAzUE1OYlZBbTEwVGsyblBaVG1jSjY0MWNpOCswbWVvRytyQ2JRcGVEbiIsIm1hYyI6IjU0OTE4NzU0ZGIwMTU1YzI3OGIwMWVmNzQ1ZTFjNTI5OWU3NDYzN2Y4NDBiZjkxYjc2MjMyMGZlM2ZiMjZmYmQiLCJ0YWciOiIifQ==","deleted_at":null},"23103":{"id":23103,"votes":0,"views":0,"text":"Trzy literki z nazwy si\u0119 zgadzaj\u0105 ;)","html":" Trzy literki z nazwy si\u0119 zgadzaj\u0105 ;)<\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23103","created_at":"2017-11-04T18:58:34+01:00","updated_at":"2017-11-04T18:58:34+01:00","comments":[],"user":{"id":780,"name":"Panczo","is_online":true,"photo":null,"deleted_at":null,"is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6IjlnVDVzMW1HSlhVdGExRXBPbWI0clE9PSIsInZhbHVlIjoiS20vTFlDcU0wV2ZvSDE4UGhQb3NzMUJOczlKRzBkdi9NR3p3N3ZKQ3Juc2lkWkpFRnhiSjY5azZGWWtNL0QvdiIsIm1hYyI6IjcwYzliNDk2ODIwNDVlODQzOTMxYmQxYmU4ZjE5M2EyYWE1MWUxZDliNjE0MmM0ZDNjNzQ1MTRjZGUzYTg2OGUiLCJ0YWciOiIifQ==","deleted_at":null},"23104":{"id":23104,"votes":0,"views":0,"text":"Ja powiem wi\u0119cej, jest to wi\u0119kszo\u015b\u0107 3\/5 przy co najmniej po\u0142owie obecnych ;)","html":" Ja powiem wi\u0119cej, jest to wi\u0119kszo\u015b\u0107 3\/5 przy co najmniej po\u0142owie obecnych ;)<\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23104","created_at":"2017-11-04T21:05:55+01:00","updated_at":"2017-11-04T21:05:55+01:00","comments":[],"user":{"id":23428,"name":"Kozio\u0142ek","is_online":false,"photo":"https:\/\/4programmers.net\/uploads\/photo\/5e\/5e8de7baa0816.png","deleted_at":null,"is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6IitGVGo2ZWFIL0UxNGltZ285NUR6SEE9PSIsInZhbHVlIjoiVDhIOHJ3SmFINHltWDZnYzBBVy9qRUl2UzcvY3M2QjVta244TE43Z3UrTnFMZHV4OUVCYWcrSENwUkZBK1FqNCIsIm1hYyI6IjFiYzQ5MTY3MWExOTFlMDEzNzdhN2M5YzYxN2U3MWNlNzgxNWFlNmRhOGJjMDFkZTYxOGM2YjQ4NWE1MzEyYTIiLCJ0YWciOiIifQ==","deleted_at":null},"23117":{"id":23117,"votes":0,"views":0,"text":"A nie przypadkiem 4\/5? :-)","html":" A nie przypadkiem 4\/5? :-)<\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23117","created_at":"2017-11-05T10:11:56+01:00","updated_at":"2017-11-05T10:11:56+01:00","comments":[],"user":{"id":25239,"name":"Patryk27","is_online":false,"photo":"https:\/\/4programmers.net\/uploads\/photo\/586c0e30b7edf.jpg","deleted_at":null,"is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6IlRaRzRpWjU3ZnowTHRKS0d5US9NRmc9PSIsInZhbHVlIjoidWU0akZFa01PTEpteUZWTENhQU54Skgxa2NiMkI3b2tvUlN2UkZybFNPZzIvS2FFMTE3VW9BR3NlLzlxZGd3UiIsIm1hYyI6IjY3YzE0ODBmMzlkZWNlYjQ0NzQ1YzMyZjlmMjRmYTM5N2VlZjk3NTZjMjNmY2NkMzM4NWU1NjhiYjJkZjA5NzQiLCJ0YWciOiIifQ==","deleted_at":null},"23146":{"id":23146,"votes":0,"views":0,"text":"3 literki z 5...","html":" 3 literki z 5...<\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23146","created_at":"2017-11-05T21:04:00+01:00","updated_at":"2017-11-05T21:04:00+01:00","comments":[],"user":{"id":23428,"name":"Kozio\u0142ek","is_online":false,"photo":"https:\/\/4programmers.net\/uploads\/photo\/5e\/5e8de7baa0816.png","deleted_at":null,"is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6ImFhcEpwUGh2cU94aUo4Y0Z5MHZqK1E9PSIsInZhbHVlIjoiOC9RL2xDZjQ5c3ByTTBzTnlKZHVJL0dGYUxvenJIRXA2WG1abi9FK0lVcW43UGJobHJjbWRSbVdiSVJCSnFBZCIsIm1hYyI6IjZkZGRkYWMzOWI5NDg4NThkNGJlZTg1YTlmMzgyOTUxOTRkMzI5YjRjODZmODY2NWE5MjMxNzA2ZmM0NWZjNmEiLCJ0YWciOiIifQ==","deleted_at":null},"23147":{"id":23147,"votes":1,"views":0,"text":"MySQL i MSSQL maj\u0105 cztery literki wsp\u00f3lne, chyba o to chodzi\u0142o @Patryk27","html":" MySQL i MSSQL maj\u0105 cztery literki wsp\u00f3lne, chyba o to chodzi\u0142o @Patryk27<\/a><\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23147","created_at":"2017-11-05T21:05:45+01:00","updated_at":"2017-11-05T21:05:45+01:00","comments":[],"user":{"id":24113,"name":"Afish","is_online":false,"photo":null,"deleted_at":null,"is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6IlkzZ3kxR2R0UDVGSjVWYmhJOHNBQlE9PSIsInZhbHVlIjoiUlIxSEdNY2crbTlXYldSRzFyVVpDNHZhQWhiYWE1YmJsM203SlZBNmV5QnFqSFlRbTNtdU8ydkI3OFlvQTUzNyIsIm1hYyI6IjMzMzUxMWNhMGZhNmI0NWNiZTZhODIwNWE5ZDM3NzdlYTE4ZDU2NTgwZDNhNTE5ZmI0YmUyYjYzMGNkNGYwNjciLCJ0YWciOiIifQ==","deleted_at":null},"23148":{"id":23148,"votes":0,"views":0,"text":"Jestem tradycjonalist\u0105 mySQL i wielko\u015b\u0107 ma znaczenie :D","html":" Jestem tradycjonalist\u0105 mySQL i wielko\u015b\u0107 ma znaczenie :D<\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23148","created_at":"2017-11-05T21:06:48+01:00","updated_at":"2017-11-05T21:06:48+01:00","comments":[],"user":{"id":23428,"name":"Kozio\u0142ek","is_online":false,"photo":"https:\/\/4programmers.net\/uploads\/photo\/5e\/5e8de7baa0816.png","deleted_at":null,"is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6IkZZZWo3VmhOWWxIWDYyMzhRQitZVEE9PSIsInZhbHVlIjoiM0ZQMmQ5TXpma3Y0dDFLMm5WdGh1TEkxQjNHZTZSazJUd0J0UTJiUWUycU5TbWdsZC9taExyenBwQzBhaWZwcSIsIm1hYyI6ImVmYWRkODZjMTNkNGE5ZjJkMGNlYzk0NGU5OTdiNmNmOGQwMGU3M2Q0YzhmMzhjZDBmZTcxYjNiNGQ2NjM4NDAiLCJ0YWciOiIifQ==","deleted_at":null},"23149":{"id":23149,"votes":0,"views":0,"text":"@Kozio\u0142ek: Googlowa\u0142em i chyba dalej si\u0119 nie zgadza, My w MySQL jest od imienia, a nie od \u201em\u00f3j\u201d, nigdzie te\u017c nie znalaz\u0142em \u017ar\u00f3d\u0142a, jakoby pisa\u0142o si\u0119 to inaczej.","html":" @Kozio\u0142ek<\/a>: Googlowa\u0142em i chyba dalej si\u0119 nie zgadza, My w MySQL jest od imienia, a nie od \u201em\u00f3j\u201d, nigdzie te\u017c nie znalaz\u0142em \u017ar\u00f3d\u0142a, jakoby pisa\u0142o si\u0119 to inaczej.<\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23149","created_at":"2017-11-05T22:06:28+01:00","updated_at":"2017-11-05T22:06:28+01:00","comments":[],"user":{"id":24113,"name":"Afish","is_online":false,"photo":null,"deleted_at":null,"is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6Ildiby9vM0RHWjYvam5yZ3dGTlpRS3c9PSIsInZhbHVlIjoiY0FISklOd2trMHNtNk9pV0VjV0JTU0ozS0RUUC9vbXBVM2FiT25SWWtMNUEvbUpUUkhGM3FmVUlHZ1VZOFltOSIsIm1hYyI6ImRiNDdhYTgyYmI2MWFkZmE2NTQyN2VjYzI1YzgwOTVkMDU2ODY1NmE1ODQ1YThiYzQ1YzAwYTZlNzQyOWJjOGYiLCJ0YWciOiIifQ==","deleted_at":null},"23161":{"id":23161,"votes":0,"views":0,"text":"jest MySQL - tak jest w dokumentacji oraz na oficjalnej stronie, wi\u0119c uznaj\u0119, \u017ce to jest nie wiem czy jedyna, ale s\u0142uszna wersja","html":" jest MySQL - tak jest w dokumentacji oraz na oficjalnej stronie, wi\u0119c uznaj\u0119, \u017ce to jest nie wiem czy jedyna, ale s\u0142uszna wersja<\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23161","created_at":"2017-11-06T08:39:47+01:00","updated_at":"2017-11-06T08:39:47+01:00","comments":[],"user":{"id":23850,"name":"no_solution_found","is_online":false,"photo":"https:\/\/4programmers.net\/uploads\/photo\/506ea76720067.jpg","deleted_at":null,"is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6Ilg0OWc2WFFxNVdBaklJVU9TcE5VZWc9PSIsInZhbHVlIjoiZ2NDTHUyaUZuQkJhK2Z0VVVaSzA5bFY2TWx5cHdBTzkxWjYvWmF6aWw5anM2MXBYd0JEUjZHWThoeVRXMFV1TSIsIm1hYyI6ImUxM2MwYWZiYjc2ZjFhZGEzYjYyNGI1M2JlZTk1ODYyOWRjM2JmZWQ1NWNkYWZjYjg2MjcxOGMwNzM0OGVmMTUiLCJ0YWciOiIifQ==","deleted_at":null},"23162":{"id":23162,"votes":0,"views":0,"text":"@Afish czepia\u0142em si\u0119 o uproszczenia, a potem sam u\u017cy\u0142em jednego ;-) Ad meritum: na potrzeby wyszukiwania klucz klastruj\u0105cy zadzia\u0142a jak indeks, niezale\u017cnie od tego, czy fizycznie dane b\u0119d\u0105 te\u017c posortowane (opr\u00f3cz fragmentacji stron jest jeszcze fragmentacj\u0119 systemu plik\u00f3w). Same indeksy r\u00f3wnie\u017c mog\u0105 by\u0107 pofragmentowane na poziomie stron czy fizycznego zapisu na no\u015bniku. Acz tym order by dla PK mnie troch\u0119 zdziwi\u0142e\u015b, bo my\u015bla\u0142em, \u017ce skoro na poziomie logicznym dane s\u0105 posortowane, to zagwarantuje to kolejno\u015b\u0107. Co do `mo\u017cemy otrzyma\u0107 dane nieposortowane, bo tak s\u0105 odczytane z dysku` to tutaj si\u0119 nie zgodz\u0119, w odczycie z dysku po\u015bredniczy system operacyjny, system plik\u00f3w gwarantuje odczytanie w takiej kolejno\u015bci, w jakiej dane zosta\u0142y zapisane, niezale\u017cnie od fragmentacji pliku.","html":" @Afish<\/a> czepia\u0142em si\u0119 o uproszczenia, a potem sam u\u017cy\u0142em jednego ;-) Ad meritum: na potrzeby wyszukiwania klucz klastruj\u0105cy zadzia\u0142a jak indeks, niezale\u017cnie od tego, czy fizycznie dane b\u0119d\u0105 te\u017c posortowane (opr\u00f3cz fragmentacji stron jest jeszcze fragmentacj\u0119 systemu plik\u00f3w). Same indeksy r\u00f3wnie\u017c mog\u0105 by\u0107 pofragmentowane na poziomie stron czy fizycznego zapisu na no\u015bniku. Acz tym order by dla PK mnie troch\u0119 zdziwi\u0142e\u015b, bo my\u015bla\u0142em, \u017ce skoro na poziomie logicznym dane s\u0105 posortowane, to zagwarantuje to kolejno\u015b\u0107. Co do @\u0141F<\/a>: @Afish<\/a> masz jaki\u015b link do tego? Ch\u0119tnie si\u0119 dokszta\u0142c\u0119.<\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23274","created_at":"2017-11-08T21:57:31+01:00","updated_at":"2017-11-08T21:57:31+01:00","comments":[],"user":{"id":2,"name":"\u0141F","is_online":false,"photo":"https:\/\/4programmers.net\/uploads\/photo\/515f206a96346.jpg","deleted_at":null,"is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6IkQ1bnVUQTlVZzBiRTlHVDBuOUUyL2c9PSIsInZhbHVlIjoiNnM2bWlUVkNwSGdCbTN2T0RZMk5KT3c1c242bVVOQ0xkL0U2b2dmMndISUJxZXlpdnlkMzZhQU9QVyt4SUFudCIsIm1hYyI6IjZlZDQxMWMxYjFlY2Q5YTY2MDRkYjM3Njc0ODVlM2NjMWQzMTcyYmM3ZjkyNjA4YjQ3MjE4NzEwZmUyNDUyODciLCJ0YWciOiIifQ==","deleted_at":null},"23279":{"id":23279,"votes":2,"views":0,"text":"@\u0141F: Nie znajd\u0119 na szybko przyk\u0142adu na dow\u00f3d, wi\u0119c p\u00f3ki co nast\u0119puj\u0105ce cytaty: Training Kit (Exam 70-461) Querying MS SQL Server 2012 na stronie 590 m\u00f3wi: \"Clustered indexes also have some disadvantages compared to heaps. When you insert a new row into a full page, SQL Server has to split the page into two pages and move half of the rows to the second page. This happens because SQL Server needs to maintain the logical order of the rows. This way, you get some internal fragmentation, which you cannot get in a heap. In addition, the new page (or new uniform extent for a large table) can be reserved anywhere in a data file. **Physical order of pages and extents of a clustered table do not need to correspond to the logical order**. If pages are physically out of order, then the clustered table is logically fragmented. This is also known as external fragmentation. External fragmentation can slow down full or partial scans in logical order\" \u2014 ten fragment m\u00f3wi, \u017ce jak masz fragmentacj\u0119 zewn\u0119trzn\u0105, to dane na dysku nie musz\u0105 by\u0107 po kolei. Teraz lecimy do opisu operacji MS SQL https:\/\/docs.microsoft.com\/en-us\/sql\/relational-databases\/showplan-logical-and-physical-operators-reference i widzimy, \u017ce przy Clustered Index Scan mamy \"If the Argument column contains the ORDERED clause, the query processor has requested that the output of the rows be returned in the order in which the clustered index has sorted it. **If the ORDERED clause is not present, the storage engine scans the index in the optimal way, without necessarily sorting the output**. Clustered Index Scan is a logical and physical operator.\" To oznacza, \u017ce silnik przelatuje strony tak szybko, jak to jest mo\u017cliwe, wi\u0119c czyta je w takiej kolejno\u015bci, jak s\u0105 na dysku, a (jak m\u00f3wi przytoczona ksi\u0105\u017cka) na dysku nie musz\u0105 by\u0107 po kolei.","html":" @\u0141F<\/a>: Nie znajd\u0119 na szybko przyk\u0142adu na dow\u00f3d, wi\u0119c p\u00f3ki co nast\u0119puj\u0105ce cytaty: Training Kit (Exam 70-461) Querying MS SQL Server 2012 na stronie 590 m\u00f3wi: \"Clustered indexes also have some disadvantages compared to heaps. When you insert a new row into a full page, SQL Server has to split the page into two pages and move half of the rows to the second page. This happens because SQL Server needs to maintain the logical order of the rows. This way, you get some internal fragmentation, which you cannot get in a heap. In addition, the new page (or new uniform extent for a large table) can be reserved anywhere in a data file. Physical order of pages and extents of a clustered table do not need to correspond to the logical order<\/strong>. If pages are physically out of order, then the clustered table is logically fragmented. This is also known as external fragmentation. External fragmentation can slow down full or partial scans in logical order\" \u2014 ten fragment m\u00f3wi, \u017ce jak masz fragmentacj\u0119 zewn\u0119trzn\u0105, to dane na dysku nie musz\u0105 by\u0107 po kolei. Teraz lecimy do opisu operacji MS SQL https:\/\/docs.microsoft.com\/en-us\/sql\/relational-databases\/showplan-logical-and-physical-operators-reference<\/a> i widzimy, \u017ce przy Clustered Index Scan mamy \"If the Argument column contains the ORDERED clause, the query processor has requested that the output of the rows be returned in the order in which the clustered index has sorted it. If the ORDERED clause is not present, the storage engine scans the index in the optimal way, without necessarily sorting the output<\/strong>. Clustered Index Scan is a logical and physical operator.\" To oznacza, \u017ce silnik przelatuje strony tak szybko, jak to jest mo\u017cliwe, wi\u0119c czyta je w takiej kolejno\u015bci, jak s\u0105 na dysku, a (jak m\u00f3wi przytoczona ksi\u0105\u017cka) na dysku nie musz\u0105 by\u0107 po kolei.<\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23279","created_at":"2017-11-08T22:06:45+01:00","updated_at":"2017-11-08T22:06:45+01:00","comments":[],"user":{"id":24113,"name":"Afish","is_online":false,"photo":null,"deleted_at":null,"is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6IkU0eVpFZlFVc01PMGljVVRKdS9UL3c9PSIsInZhbHVlIjoiY1pOcEp5NmdDOFdQL1grWjgyVk1oUERoRmpERWxJWkVKZEEvZ0QweUVKOEhsY3J0dzltcVRQcUo0ZXNTUm5IUCIsIm1hYyI6IjM5N2NmNmFmMjQzMzE0MDRmYjIyYTEwNDFhMTM4ZTdjM2IzODQ2NTI2YzNmNTRiNTFhZmMwNTBjNTE4NThmOGYiLCJ0YWciOiIifQ==","deleted_at":null},"23283":{"id":23283,"votes":0,"views":0,"text":"W sumie do\u015b\u0107 logiczne. Z nonclustered index musi by\u0107 to samo, je\u015bli chodzi o fragmentacj\u0119 \"zewn\u0119trzn\u0105\", wi\u0119c nonclustered index scan pewnie napotyka na podobne problemy (cho\u0107 nie prze\u0142o\u017c\u0105 si\u0119 one na kolejno\u015b\u0107 zwr\u00f3conych danych (?)).","html":" W sumie do\u015b\u0107 logiczne. Z nonclustered index musi by\u0107 to samo, je\u015bli chodzi o fragmentacj\u0119 \"zewn\u0119trzn\u0105\", wi\u0119c nonclustered index scan pewnie napotyka na podobne problemy (cho\u0107 nie prze\u0142o\u017c\u0105 si\u0119 one na kolejno\u015b\u0107 zwr\u00f3conych danych (?)).<\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23283","created_at":"2017-11-08T22:36:32+01:00","updated_at":"2017-11-08T22:36:32+01:00","comments":[],"user":{"id":2,"name":"\u0141F","is_online":false,"photo":"https:\/\/4programmers.net\/uploads\/photo\/515f206a96346.jpg","deleted_at":null,"is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6ImplcEdqbVhBQ25GU3NVRmJDdHR4ZXc9PSIsInZhbHVlIjoib0NJVzlxQWpBWFpCcjRXRVIrdit2QkFFbkFuRGJhQW1JZDYwbzhGaDZ6TisyRFdVaURmNEFHRlNwQnZvWXkrOCIsIm1hYyI6ImFkN2IzOTFlNDdiZGNhZGY1NjlmMzlkMmQ2MzNlNGE4NDAxNzY2MDJhY2NiNDRlOWYyNzgyODg4YTZlMmNmNzEiLCJ0YWciOiIifQ==","deleted_at":null},"23285":{"id":23285,"votes":0,"views":0,"text":"Na logik\u0119 nieklastrowy indeks powinien zachowywa\u0107 si\u0119 tak samo, szczeg\u00f3lnie, \u017ce on jeszcze musi zrobi\u0107 key lookup na tabeli klastrowej (lub analogicznie row lookup na stertowej), wi\u0119c nie widz\u0119 powodu, dla kt\u00f3rego mia\u0142by specjalnie troszczy\u0107 si\u0119 o kolejno\u015b\u0107 danych, niemniej nie kojarz\u0119, abym czyta\u0142 explicite o tej sytuacji, a i MSDN nie podaje w dokumentacji, \u017ce indeks nieklastrowy mo\u017ce zwr\u00f3ci\u0107 dane nieposortowane.","html":" Na logik\u0119 nieklastrowy indeks powinien zachowywa\u0107 si\u0119 tak samo, szczeg\u00f3lnie, \u017ce on jeszcze musi zrobi\u0107 key lookup na tabeli klastrowej (lub analogicznie row lookup na stertowej), wi\u0119c nie widz\u0119 powodu, dla kt\u00f3rego mia\u0142by specjalnie troszczy\u0107 si\u0119 o kolejno\u015b\u0107 danych, niemniej nie kojarz\u0119, abym czyta\u0142 explicite o tej sytuacji, a i MSDN nie podaje w dokumentacji, \u017ce indeks nieklastrowy mo\u017ce zwr\u00f3ci\u0107 dane nieposortowane.<\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23285","created_at":"2017-11-09T01:28:19+01:00","updated_at":"2017-11-09T01:28:19+01:00","comments":[],"user":{"id":24113,"name":"Afish","is_online":false,"photo":null,"deleted_at":null,"is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6IkhEa3ppYTNjNlE0MXY2ZUJLc2Q0N3c9PSIsInZhbHVlIjoib3BNZWoxbzZJNTY0TVJtOGk4WGZubFFvenFPVm5iaFFzYmNNRHB4RldmMU0xbnpaT1NqK0orQWJYcnE0SktSVSIsIm1hYyI6ImYwNTBlNDZlNGIzOGE2OWRhMDc4NWJmZTU2MTcyNDQ1MDAzOGUxNzI1MGZkODJlZTBmZmRlMmRkOWExYTZhNTMiLCJ0YWciOiIifQ==","deleted_at":null}}Searching a row in a sorted file with N length takes comparisons and the same number of reads from a filesystem which is heavy itself.<\/code>
\nSkoro jest sorted, to wyszukowanie trwa ~log2n. Ilo\u015b\u0107 por\u00f3wna\u0144 jest wi\u0119ksza od ilo\u015bci odczyt\u00f3w, bo odczyty s\u0105 buforowane. Gramatyka zacytowanego zdania pozostawia bardzo wiele do \u017cyczenia.<\/p>\nHowever, tables in databases are not sorted which complicates the operation, Furthermore, if you have a lot of reads, updates and deletions on them.<\/code>
\nIndeks klastruj\u0105cy sortuje tabel\u0119 (wymusza fizyczn\u0105 kolejno\u015b\u0107 danych).
\nDu\u017co odczyt\u00f3w = indeks b\u0119dzie po\u017c\u0105dany, du\u017co zapis\u00f3w = indeks nie b\u0119dzie po\u017c\u0105dany, du\u017co odczyt\u00f3w i du\u017co zapis\u00f3w = problem.
\nGramatyka i ortografia cytowanego zdania jest s\u0142aba.<\/p>\nWriting the sorted version of the file (table) would dramatically slow the database down.<\/code>
\nZajmie tyle czasu, ile utworzenie indeksu z do\u0142\u0105czonymi wszystkimi kolumnami. Zwykle kwestia kilku sekund. Tabela z jakimkolwiek indeksem klastruj\u0105cym jest zawsze posortowana (BTW PK to indeks klastruj\u0105cy, przynajmniej tak jest na MSSQL), a dzia\u0142ania na niej zwykle nie s\u0105 \"dramatically slow\".<\/p>\nOne more thing makes it even more complicated - every table may be sorted in more than one order.<\/code>
\nJedna tabela nie mo\u017ce by\u0107 jednocze\u015bnie posortowana na kilka sposob\u00f3w. Posortowane s\u0105 dane w wielu indeksach na tej samej tabeli.<\/p>\nThat\u2019s why we use indexes which holds only attributes used in sorting and reference to a place where the data are kept.<\/code>
\nBardzo du\u017ce uproszczenie. Za\u0142o\u017cenie takiego indeksu pomaga tylko przy wyszukiwaniu pojedy\u0144czych rekord\u00f3w. Je\u015bli szukasz przedzia\u0142u albo robisz z\u0142\u0105czenie, to taki indeks mo\u017ce by\u0107 zignorowany lub dodatkowo spowolni zapytanie. Dlaczego? Bo dla ka\u017cdej znalezionej w indeksie referencji trzeba jeszcze doczyta\u0107 faktyczne dane, do kt\u00f3rych indeks si\u0119 odnosi (tzw. key lookup<\/code>). Dlatego wydajne (przy select) indeksy zawieraj\u0105 jeszcze wybrane kolumny z tabeli (
include<\/code> w MSSQL), wtedy baza danych nie musi dotyka\u0107 samej tabeli.
\nGramatyka zacytowanego zdania pozostawia wiele do \u017cyczenia: \"indexes which hold\", a nie \"holds\", \"data is kept\" - data to liczba pojedy\u0144cza.<\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23061","created_at":"2017-11-03T14:26:09+01:00","updated_at":"2017-11-03T14:26:09+01:00","comments":[],"user":{"id":2,"name":"\u0141F","is_online":false,"photo":"https:\/\/4programmers.net\/uploads\/photo\/515f206a96346.jpg","deleted_at":null,"is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6ImhQWStlWEFsc0lMSXZDajZvVDFZakE9PSIsInZhbHVlIjoienpSTTNweDZVTVlLRlhQNG1oQ3JtNE91Y2YyQ1JJYVZZZFlwS05YMDNkVlozcXpjanpjMW0wWURRcGc1SGhMTCIsIm1hYyI6IjVmOGU1ZjMzNDA0OTNlODk2ZDNmODVkNGQ0MzEzZjg4ZGFmMmU5NzlmYjRmOTY5MTZhODhiMGY2MWEyYTA4ZmQiLCJ0YWciOiIifQ==","deleted_at":null},"23062":{"id":23062,"votes":0,"views":0,"text":"`In Fulltext index, they split the text into words and make an index of the words and not the whole text.`\r\nAby na pewno? Fulltext znajduje te\u017c podobne s\u0142owa.","html":"In Fulltext index, they split the text into words and make an index of the words and not the whole text.<\/code>
\nAby na pewno? Fulltext znajduje te\u017c podobne s\u0142owa.<\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23062","created_at":"2017-11-03T14:38:20+01:00","updated_at":"2017-11-03T14:38:20+01:00","comments":[],"user":{"id":2,"name":"\u0141F","is_online":false,"photo":"https:\/\/4programmers.net\/uploads\/photo\/515f206a96346.jpg","deleted_at":null,"is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6IkdxYVIvOXlCSXp6RUJvMTJGSGJzZ0E9PSIsInZhbHVlIjoiZ0ZCTzIrR29jU1RhaGVQQm9Scmo0MTRuTmsvNTRKY3ZZalVTTmpqblQwcS83UGFNSlE3VEU2TnRZWFlGd3FYaCIsIm1hYyI6IjEyZjUwYmY2NmEwNzYyYzU2OWJlNDQ3OTY3OWQ2MDQ5NjVjOTk0NDJjYzM0OTQzMGYyYTU2ZTU3ZTMxOWY1MDAiLCJ0YWciOiIifQ==","deleted_at":null},"23067":{"id":23067,"votes":0,"views":0,"text":"Na 4programmers mamy najlepszych recenzent\u00f3w :D","html":"Tabela z jakimkolwiek indeksem klastruj\u0105cym jest zawsze posortowana<\/code> Jak ju\u017c tak wchodzimy w szczeg\u00f3\u0142y, to o ile koncepcyjnie jest to prawda, to w rzeczywisto\u015bci niekoniecznie. W MSSQL tabela z indeksem klastruj\u0105cym mo\u017ce nie by\u0107 posortowana fizycznie na dysku, ale zawsze jest posortowana logicznie. Jest to spowodowane fragmentacj\u0105 zewn\u0119trzn\u0105. Co wi\u0119cej, efekt mo\u017ce by\u0107 taki, \u017ce gdy robimy full index scan (czyli przyk\u0142adowo
SELECT * FROM tabela<\/code> na tabeli klastrowanej), mo\u017cemy otrzyma\u0107 dane nieposortowane, bo tak s\u0105 odczytane z dysku (z tego te\u017c wzgl\u0119du zawsze trzeba dorzuci\u0107
ORDER BY<\/code>).<\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23079","created_at":"2017-11-04T03:03:04+01:00","updated_at":"2017-11-04T03:03:04+01:00","comments":[],"user":{"id":24113,"name":"Afish","is_online":false,"photo":null,"deleted_at":null,"is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6IjBFREdWeGJubDJMaFZyaU1jVityZlE9PSIsInZhbHVlIjoid3RKT0h0V0tSTlh0R2dCZWdhVGl1Q2s1SUlSNEFPN1U2NTN1cVVHT2Nnd0dRbVI2MEhBNjlzamFEWWg3Z1c2RyIsIm1hYyI6ImE1ZDI3NzQzNjUxMjEwMDJhZTIyNzcyZjMxMTc1M2Y4YTNiYTQxZWI4ZDE2MzdiODlkMWJhZGVlMTUxYWViYmEiLCJ0YWciOiIifQ==","deleted_at":null},"23081":{"id":23081,"votes":0,"views":0,"text":"@\u0141F PK w MS SQL domy\u015blnie jest indeksem grupuj\u0105cym, ale mo\u017cna to na tabeli zdefiniowa\u0107 inaczej i da\u0107 grupowanie do innego indeksu","html":"
mo\u017cemy otrzyma\u0107 dane nieposortowane, bo tak s\u0105 odczytane z dysku<\/code> to tutaj si\u0119 nie zgodz\u0119, w odczycie z dysku po\u015bredniczy system operacyjny, system plik\u00f3w gwarantuje odczytanie w takiej kolejno\u015bci, w jakiej dane zosta\u0142y zapisane, niezale\u017cnie od fragmentacji pliku.<\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23162","created_at":"2017-11-06T09:55:52+01:00","updated_at":"2017-11-06T09:55:52+01:00","comments":[],"user":{"id":2,"name":"\u0141F","is_online":false,"photo":"https:\/\/4programmers.net\/uploads\/photo\/515f206a96346.jpg","deleted_at":null,"is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6IlJJY252bzhSRFBZemNxK3BGVXp1RFE9PSIsInZhbHVlIjoiekFISlBZajBGNFRRVVpYeHpiMGRwSjRuSVN4LzhQbHI4RnNJMjJRVnNlTkQ2UHJxQ1hPNzh1elhSNHNiY2YrYSIsIm1hYyI6IjdiMTZjNDRmM2IxODExZTViZjc3ZDAwNzgzYWRkZDZjMmVkM2M1MjMzY2VkZDUwY2E3NjI4ODI5NDg2Yjk4ZTAiLCJ0YWciOiIifQ==","deleted_at":null},"23174":{"id":23174,"votes":0,"views":0,"text":"@\u0141F: ```system plik\u00f3w gwarantuje odczytanie w takiej kolejno\u015bci, w jakiej dane zosta\u0142y zapisane, niezale\u017cnie od fragmentacji pliku.``` To nie ma nic do rzeczy. Jak masz fragmentacj\u0119 zewn\u0119trzn\u0105, to na dysku dane nie s\u0105 posortowane, wi\u0119c przy zwyk\u0142ym skanowaniu silnik wie, \u017ce nie ma potrzeby pilnowa\u0107 kolejno\u015bci logicznej i mo\u017ce czyta\u0107 strony jak leci. Pisali o tym bodaj\u017ce w SQL Server 2012 Internals lub oficjalnych materia\u0142ach szkoleniowych MS do egzamin\u00f3w.","html":"
system plik\u00f3w gwarantuje odczytanie w takiej kolejno\u015bci, w jakiej dane zosta\u0142y zapisane, niezale\u017cnie od fragmentacji pliku.<\/code> To nie ma nic do rzeczy. Jak masz fragmentacj\u0119 zewn\u0119trzn\u0105, to na dysku dane nie s\u0105 posortowane, wi\u0119c przy zwyk\u0142ym skanowaniu silnik wie, \u017ce nie ma potrzeby pilnowa\u0107 kolejno\u015bci logicznej i mo\u017ce czyta\u0107 strony jak leci. Pisali o tym bodaj\u017ce w SQL Server 2012 Internals lub oficjalnych materia\u0142ach szkoleniowych MS do egzamin\u00f3w.<\/p>\n","parent_id":23036,"url":"https:\/\/4programmers.net\/Mikroblogi\/View\/23036#comment-23174","created_at":"2017-11-06T15:20:44+01:00","updated_at":"2017-11-06T15:20:44+01:00","comments":[],"user":{"id":24113,"name":"Afish","is_online":false,"photo":null,"deleted_at":null,"is_blocked":false},"permissions":{"update":false,"moderate":false},"type":"microblog","assets":[],"is_sponsored":false,"metadata":"eyJpdiI6ImE3MStuT1ZKb3M2ZWpMalNVTUlub0E9PSIsInZhbHVlIjoiN1ArZlhGSDFrbGhjaTJvWXhqeUZBeUE0UXFndEtPaEliMkNLN2YyR3BVWk1oN3NqREJPZmlHY200NTF3Vk8xTiIsIm1hYyI6IjljYmIyZWEzZjJhYmUzOWZkZTRiZjg2M2QxZDc2Y2ExYTM1OWNiZDhhZTkxMjc0N2YxZTNlODRjMWQ4ZmE0MmYiLCJ0YWciOiIifQ==","deleted_at":null},"23274":{"id":23274,"votes":0,"views":0,"text":"@Afish masz jaki\u015b link do tego? Ch\u0119tnie si\u0119 dokszta\u0142c\u0119.","html":"