HDD-szektorok




 Részletesebben megnézve egy szektor felépítését, láthatjuk, hogy a szektor-azonosító és a szektor adatmező után rés található. Mi ennek az oka?
A diszk mágneses feje nem tökéletes, nem tud mindig pontosan ugyanoda pozícionálni. Ha nem lenne rés, akkor egy későbbi szektor-írás túlfuthatna és beleírhatna a következő szektor elejébe.
**Miért van rá szükség?**


Amikor az adatot a lemezen tárolt alapú tárolóeszközök, hogy tárolja a blokk adatok. Ezek a blokkok elérni a maguk teljességében, így az atomi lemez hozzáférési művelet. Lemezblokkot szerkezete ugyanúgy, mint kapcsolt listák; mindkettő tartalmaz egy szakaszt az adatok, egy mutatót a helyét a következő csomópont (vagy blokk), és mindkét nem kell folyamatosan tárolódnak.


Tekintettel arra, hogy a rekordok száma csak akkor rendezhetők egyetlen területen, azt mondhatjuk, hogy keres egy olyan területen, amely nem igényel rendezve lineáris keresés, amely megköveteli `N/2`blokk hozzáféréseket (átlagosan), ahol `N`a blokkok száma, amelyek a táblázat ível. Ha ez a mező nem kulcs mező (azaz nem tartalmaz egyedi bejegyzés), akkor a teljes tablespace kell keresni a `N`blokk fér.


Mivel, rendezett területen, a bináris keresés alkalmazhatunk, amely `log2 N`blokk fér. Továbbá mivel az adatok rendezése kap egy nem-kulcs mező, a többi a táblázat nem kell keresni az ismétlődő értékeket, ha egy nagyobb értéket találtuk. Így a teljesítmény növelése jelentős.


**Mi indexelés?**


Az indexelés módja válogatás a rekordok száma több területen. Létrehozása index mező a tábla létrehoz egy másik adatszerkezet, amely birtokolja a mező értéke, és egy mutatót a rekord vonatkozik. Ez az index struktúra majd rendezve, így Binary keresések kell végrehajtani rajta.


A hátránya, hogy az indexelés, hogy ezek a mutatók további területet igényel a lemezen, hiszen az indexek együtt tárolja a táblát a MyISAM motor, ezt a fájlt gyorsan eléri a megengedett méretet a mögöttes fájlrendszer, ha több területen ugyanabban a táblázatban indexelése .


**Hogyan működik?**


Először is, nézzük vázlat minta adatbázis tábla séma; 



```
Mező neve Adat típus Méret lemezen
id (elsődleges kulcs) unsigned int 4 bájtot
FIRSTNAME Char (50) 50 bájt
lastName Char (50) 50 bájt
EmailAddress Char (100) 100 bájt

```

**Megjegyzés** : char helyett a varchar, hogy lehetővé tegye a pontos mérete a lemezen értéket. Ez a minta adatbázis tartalmazza ötmillió sorok és indexálás. Az előadás több lekérdezések most lehet elemezni. Ezek a lekérdezés segítségével a *id* (a rendezve kulcs mező), és egyet a *FIRSTNAME* (a nem-kulcs szétválogatás nélkül kitölteni).


***1. példa*** - *rendezve vs szelektálatlan mezők*


Mivel a minta adatbázis `r = 5,000,000`bejegyzések egy fix méretű, amely egy rekord hossza `R = 204`byte, és tárolja azokat egy táblát a MyISAM motor, amelyet az alapértelmezett blokk méretét `B = 1,024`byte. A blokkoló tényező az asztal lenne `bfr = (B/R) = 1024/204 = 5`jutó bejegyzések lemezblokk. A blokkok száma a szükséges tartani a táblázat `N = (r/bfr) = 5000000/5 = 1,000,000`blokkokat.


A lineáris keresés az id mező lenne szükség átlagosan `N/2 = 500,000`blokk fér találni egy értéket, mivel az id mező kulcsfontosságú területen. De mivel az id mező is rendezve, egy bináris keresést lehet végezni igénylő átlagosan `log2 1000000 = 19.93 = 20`blokk fér. Azonnal kiderül, hogy ez egy drasztikus javulást.


Most a *FIRSTNAME* mező nem kiválogatott sem kulcsfontosságú területén, így a bináris keresés lehetetlen, és nem azok az értékek, egyedi, és így a táblázat szükség lesz keresi a végén egy pontos `N = 1,000,000`blokk fér. Ez az a helyzet, hogy az indexelés célja, hogy javítsa.


Tekintettel arra, hogy az index rekord tartalmazza csak az indexelt mező és egy mutatót, az eredeti lemez, magától értetődik, hogy kisebb lesz, mint a multi-mező rekordot az mutat. Tehát maga az index igényel kevesebb lemez blokkok, mint az eredeti tábla, amely így kevesebbszer kell blokk hozzáférések végighaladni. A séma egy index a *FirstName* mező alábbiakban vázolt;



```
Mező neve Adat típus Méret lemezen
FIRSTNAME Char (50) 50 bájt
(Felvétel pointer) Special 4 bájt

```

**Megjegyzés** : mutatóeszközök a MySQL 2, 3, 4 vagy 5 bájt hosszúságú méretétől függően a táblázat.


***2. példa*** - *indexelés*


Mivel a minta adatbázis `r = 5,000,000`rekordok az index rekord hossza `R = 54`bájt és az alap blokk méretét `B = 1,024`byte. A blokkoló tényező az index lenne `bfr = (B/R) = 1024/54 = 18`jutó bejegyzések lemezblokk. A blokkok száma a szükséges tartani az index `N = (r/bfr) = 5000000/18 = 277,778`blokkok.


Most a keresést a *FIRSTNAME* területén tudja használni az index a teljesítmény növelése érdekében. Ez lehetővé teszi a bináris keresés az index átlagosan `log2 277778 = 18.08 = 19`blokk hozzáférések. Ahhoz, hogy megtalálja a címet a tényleges rekord, ami egy további blokk hozzáférés olvasni, így összesen `19 + 1 = 20`blokkolja a bejáratok, messze a 1.000.000 blokk hozzáfér találniuk kell egy *FIRSTNAME* mérkőzés a nem indexelt tábla.


**Mikor kell használni?**


Tekintettel arra, hogy létrehoz egy indexet igényel további lemezterület (277778 blokkok plusz a fenti példában a ~ 28% -os növekedés), és hogy túl sok indexek okozhat eredő kérdéseket fájlrendszerek mérethatárok, gondosan kell használni, hogy válassza ki a megfelelő mezők index.


Mivel indexek csak használják, hogy gyorsítsák fel a keresést a megfelelő területen belül nyilvántartást, magától értetődik, hogy mezőindexelés csak a kimenetnél lenne egyszerűen hulladék lemezterület és a feldolgozási idő, amikor egy betétet vagy törölni működését, így el kéne kerülni. Szintén jellege miatt a bináris keresés, a számossága vagy egyediségét az adatok fontosak. Az indexelés a területen egy számossága 2 osztanám az adatokat a felére, míg a számossága 1000 visszatér megközelítőleg 1000 rekordokat. Ilyen alacsony számosságú hatékonysága csökken egyenes sort, és az optimalizáló elkerülhető az index, ha a számossága kisebb, mint 30% -a rekordot, így gyakorlatilag az index egy hulladék helyet. Hiányzik a HTML headből a   

`<meta name="viewport" content="width=device-width, initial-scale=1">` tag  

 és így az eszközszimulátor alakít az oldalad megjelenítésén egy adagot. 


Ha ezt hozzáadod, akkor (annak ellenére, hogy elsőre úgy tűnik majd, hogy sokkal jobban szétesett az oldal), úgy fog viselkedni az oldalon a méretezés, ahogyan a kódod alapján szeretnéd. Szerintem így sokkal követhetőbb az egész. Amúgy lehet hogy hosszú táv után ezeket is kell frissíteni, de nem vagyok benne biztos, csak egy megjegyzés volt. :) A kérdés okozott, mert a speciális karaktereket. Én nem tudom elképzelni, hogy a „$” lenne olyan nagy dolog a jelszavakat. Egyébként találja a mű körül érte [itt](https://nadvi.blogspot.com/2011/02/oracle-password-with-or-special.html) . Szia!  

Érdemes esetleg meglesni a mintamegoldást :)   

Vagy egy kód ide sokat segítene. Ez tényleg attól függ, hogy az a fajta kívánt adatokat hozza vissza. Mivel a DataSet (valójában) csak egy gyűjtemény DataTable tárgyak, akkor vissza több különálló adatsor egyetlen, így könnyebben kezelhető, tárgy. 


Teljesítmény-bölcs, akkor nagyobb a valószínűsége, hogy a hatékonyság A nem optimalizált lekérdezéseket, mint a „rossz” választás NET konstrukcióba. Legalábbis tapasztalatom. en meglatogatnek egy szervizt vele, mert ha a restore sem segit, akkor ezt inkabb hardware hibanak gondolnam `/var/` nak-nek



> 
> Változó mappában levő fájlok - amelynek tartalma várhatóan folyamatosan változik a normál működés során a rendszer - mint például a naplók, orsó fájlokat, és ideiglenes e-mail fájlokat. Előfordul, hogy egy külön partíció.
> 
> 
> 


- [Wikipedia](http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard)


tehát nem feltétlenül a dolgokat, hogy a rendszer írja. Egyetértek azzal, hogy `www`ez egy kicsit páratlan kacsa - nem kellene minden változó. Egyes disztribúciók, van ez alatt `/usr/share`, néhány más helyeken - `/var/www`nem általánosan elfogadott. Valójában szerint az [FHS](http://www.pathname.com/fhs/pub/fhs-2.3.html) a www adatok alatt kell lennie `/srv`, de kevés rendszerek találkoztam tűnik, hogy tartsák be ezt. ez a szoveg akkor jelenik meg, ha megnyomtad a “manage” gomb utan, a photo library mellett a “disable and delete” gombot. esetleg ott nem lett egy “undo” gomb veletlenul? igen, velem is előfordult, éjfél előtt befejezett lecke pontja megvolt, aztán másnapra eltűnt. Azt hiszem az is előfordult, hogy a napok folyamatossága is megszakadt ilyen miatt.
Más kérdés, hogy nem szoktam ezen problémázni, sőt nem is nagyon figyelem. Persze megértem, ha valakinek ez is számít :)