Warning: Declaration of Suffusion_MM_Walker::start_el(&$output, $item, $depth, $args) should be compatible with Walker_Nav_Menu::start_el(&$output, $item, $depth = 0, $args = Array, $id = 0) in /DISK2/WWW/plsql.cz/www/wp-content/themes/suffusion/library/suffusion-walkers.php on line 39
Feb 282011
 

Pokud pracujete s velkým množstvím dat a použiváte index nad sloupcem jehož hodnoty začínají na nějakou typickou hodnotu (například čísla objednávek ze Sieblu, které například začínají na string “1-xxx”), je dobré popřemýšlet nad takzvaným reverzním indexem. Reverzní index se o proti nereverzním nějak neliší kromě způsobu uložení – Oracle uloží hodnotu indexu v opačném pořadí bitů. Výhodou tohoto přístupu je že například pro objednávky “1-12887654″ a “1-1288790″ již Oracle poprvé nepřistupuje do stejného bloku s indexem (stejný bitový začátek “1-1288″), ale první bloky ke kterým nyní Oracle bude přistupovat jsou odlišné (rozdílný bitový začátek “456″ a “097″), což znamená šanci na zlepšení výkonu (speciálně u RAC) a menší počet soupeření o daný blok s indexem.

Vytvoření reverzního indexu:
CREATE INDEX INX_S_ORDER_TABLE ON S_ORDER_TABLE(ORDER_ID) REVERSE;

Oracle také umožňuje alterovat již existující index a nechat ho přepočítat na reverzní:
ALTER INDEX INX_NOREVERSE REBUILD REVERSE;

 Posted by at 19:40
Feb 262011
 

Pokud potřebujete zjistit aktuální schéma svoje či uživatele, který pouští váš PL/SQL kód,  je možné použít

select sys_context( 'userenv', 'current_schema' ) from dual;

Zjištění aktuálního schématu se velice hodí pokud použiváte  ve svém programu authid user v některé z funkcí.

 Posted by at 20:52