Pàgina d'inici » Bases de Dades » Oracle » Oracle XE 11.2.0.2 » Oracle: Optimització SELECT amb LIKE, UPPER i PrepareStatement

Oracle: Optimització SELECT amb LIKE, UPPER i PrepareStatement

Tradueix la pàgina

USA Flag German Flag Spain Flag
www.oracle.com

Optimització SELECT, LIKE, UPPER, PrepareStatement

Quan comences a treballar en un projecte, es bó anar anotant totes aquelles millores que poden ser incloses a la següent versió.
Una de les més habituals es l’optimització de les sentències d’accés a BB.DD. (i possiblement de tot el disseny de la BB.DD), que si no poden ser optimitzades en una primera instància, caldrà revaluar-les a posteriori.

Al següent enllaç he trobat informació força interessant sobre una sèrie de punts a tenir en compte per a diverses BB.DD. com Oracle, MySQL, SQL Server.

Pas Exemple
Crear la sentència amb UPPER
SELECT first_name, last_name, phone_number
FROM employees
WHERE UPPER(last_name) = UPPER('Rincewind')
Crear un índex sobre el camp amb UPPER
FBI – Function Based Index
CREATE INDEX emp_up_name
ON employees (UPPER(last_name));
Coordinar amb el Database Manager la actualització de les estadístiques (DBMS_STATS) Per defecte els FBI no s’utilitzen per al càlcul del execution plan.
Consulta a Oracle algunes altres advertències com, per exemple, incidències amb les funcions. Oracle Database cannot convert data in all cases, even when conversion is explicitly requested.
En el cas de PrepareStatement es important tenir en compte:
– El ? ha de estar sense cometes.
– Les cometes s’afegeixen al assignar la variable
sql_inst="SELECT * FROM C01001 WHERE UPPER(DESCRIPTION) LIKE ? ";
...
stmt.setString(1, "%"+Bean.getDescription().toUpperCase()+"%");

 

Nota: Per al cas de SQLServer, el procediment difereix una mica, consulltar l’ article complert per a obtenir més informació.

Enllaços relacionats:

 

Anuncis

Deixa un comentari

Fill in your details below or click an icon to log in:

WordPress.com Logo

Esteu comentant fent servir el compte WordPress.com. Log Out / Canvia )

Twitter picture

Esteu comentant fent servir el compte Twitter. Log Out / Canvia )

Facebook photo

Esteu comentant fent servir el compte Facebook. Log Out / Canvia )

Google+ photo

Esteu comentant fent servir el compte Google+. Log Out / Canvia )

Connecting to %s

%d bloggers like this: