Received: from malur.postgresql.org ([2a02:16a8:dc51::56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1g8jL6-0001Dn-K9 for pgsql-general@arkaria.postgresql.org; Sat, 06 Oct 2018 09:57:37 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1g8jL4-0006FG-BU for pgsql-general@arkaria.postgresql.org; Sat, 06 Oct 2018 09:57:34 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1g8jL3-0006F1-Mt; Sat, 06 Oct 2018 09:57:34 +0000 Received: from mtagatea.edf.fr ([163.114.23.130]) by makus.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1g8jKy-00073X-Tp; Sat, 06 Oct 2018 09:57:32 +0000 Content-Type: multipart/mixed; boundary="===============0910952569249927945==" MIME-Version: 1.0 From: ROS Didier To: "pgsql-sql@lists.postgresql.org" , "pgsql-performance@lists.postgresql.org" , "pgsql-general@lists.postgresql.org" Subject: Why the index is not used ? Thread-Topic: Why the index is not used ? Thread-Index: AdRdWvsLq5pbGc6hRyec/3F+ZHcFNA== Date: Sat, 6 Oct 2018 09:57:25 +0000 Message-ID: Accept-Language: fr-FR, en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.22.153.69] x_exchange_neo: 1 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --===============0910952569249927945== Content-Language: fr-FR Content-Type: multipart/related; boundary="_004_dd1702f0a1b74ce79ca1e380ea4e63eePCYINTPEXMU001NEOPRODED_"; type="multipart/alternative" --_004_dd1702f0a1b74ce79ca1e380ea4e63eePCYINTPEXMU001NEOPRODED_ Content-Type: multipart/alternative; boundary="_000_dd1702f0a1b74ce79ca1e380ea4e63eePCYINTPEXMU001NEOPRODED_" --_000_dd1702f0a1b74ce79ca1e380ea4e63eePCYINTPEXMU001NEOPRODED_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi I would like to submit the following problem to the PostgreSQL community. I= n my company, we have data encryption needs. So I decided to use the following procedure : (1) Creating a table with a bytea type column to store the encrypted dat= a CREATE TABLE cartedecredit(card_id SERIAL PRIMARY KEY, username VARCHAR(100= ), cc bytea); (2) inserting encrypted data INSERT INTO cartedecredit(username,cc) SELECT 'individu ' || x.id, pgp_sym= _encrypt('test value ' || x.id, 'motdepasse','compress-algo=3D2, cipher-alg= o=3Daes256') FROM generate_series(1,100000) AS x(id); (3) Querying the table SELECT pgp_sym_decrypt(cc, 'motdepasse') FROM cartedecredit WHERE pgp_sym_d= ecrypt(cc, 'motdepasse')=3D'test value 32'; pgp_sym_decrypt ----------------- test value 32 (1 row) Time: 115735.035 ms (01:55.735) -> the execution time is very long. So, I decide to create an index (4) Creating an index on encrypted data CREATE INDEX idx_cartedecredit_cc02 ON cartedecredit(cc); (5) Querying the table again SELECT pgp_sym_decrypt(cc, 'motdepasse') FROM cartedecredit WHERE pgp_sym_d= ecrypt(cc, 'motdepasse')=3D'test value 32'; pgp_sym_decrypt ----------------- test value 32 (1 row) Time: 118558.485 ms (01:58.558) -> almost 2 minutes !! postgres=3D# explain analyze SELECT pgp_sym_decrypt(cc, 'motdepasse') FROM = cartedecredit WHERE pgp_sym_decrypt(cc, 'motdepasse')=3D'test value 32'; QUERY PLAN ---------------------------------------------------------------------------= ------------------------------------------- Seq Scan on cartedecredit (cost=3D0.00..3647.25 rows=3D500 width=3D32) (ac= tual time=3D60711.787..102920.509 rows=3D1 loops=3D1) Filter: (pgp_sym_decrypt(cc, 'motdepasse'::text) =3D 'test value 32'::te= xt) Rows Removed by Filter: 99999 Planning time: 0.112 ms Execution time: 102920.585 ms (5 rows) ? the index is not used in the execution plan. maybe because of the use of = a function in the WHERE clause. I decide to modify the SQL query (6) Querying the table SELECT pgp_sym_decrypt(cc, 'motdepasse') FROM cartedecredit WHERE cc=3Dpgp_= sym_encrypt('test value 32', 'motdepasse'); pgp_sym_decrypt ----------------- (0 rows) Time: 52659.571 ms (00:52.660) ? The execution time is very long and I get no result (!?) QUERY PLAN ---------------------------------------------------------------------------= ---------------------------------------- Seq Scan on cartedecredit (cost=3D0.00..3646.00 rows=3D1 width=3D32) (actu= al time=3D61219.989..61219.989 rows=3D0 loops=3D1) Filter: (cc =3D pgp_sym_encrypt('test value 32'::text, 'motdepasse'::tex= t)) Rows Removed by Filter: 100000 Planning time: 0.157 ms Execution time: 61220.035 ms (5 rows) ? My index is not used. QUESTIONS : - why I get no result ? - why the index is not used? Thanks in advance Best Regards Didier [cid:image002.png@01D14E0E.8515EB90] Didier ROS Expertise SGBD DS IT/IT DMA/Solutions Groupe EDF/Expertise Applicative - SGBD --_000_dd1702f0a1b74ce79ca1e380ea4e63eePCYINTPEXMU001NEOPRODED_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hi

I wou= ld like to submit the following problem to the PostgreSQL community. In my = company, we have data encryption needs.
So I decided to use the following procedure :

 

(1)    Creating a table with a bytea type column to store the encrypted da= ta
CREATE TABLE cartedecredit(card_id SERIAL PRIMARY KEY, username VARCHAR(100= ), cc bytea);

 

(2)    inserting encrypted data
INSERT INTO cartedecredit(username,cc)  SELECT 'individu ' || x.id, pg= p_sym_encrypt('test value ' || x.id, 'motdepasse','compress-algo=3D2, ciphe= r-algo=3Daes256') FROM generate_series(1,100000) AS x(id);  

&nb= sp;

(3)    Querying the table
SELECT pgp_sym_decrypt(cc, 'motdepasse') FROM cartedecredit WHERE pgp_sym_d= ecrypt(cc, 'motdepasse')=3D'test value 32';

pgp_sym_decrypt

-----------------

test value 32

(1 row)

 

Time: 115735.035 ms (01:55.735)
-> the execution time is very long. So, I decide to create an index=

 

(4)    Creating an index on encrypted data
CREATE INDEX idx_cartedecredit_cc02 ON cartedecredit(cc);
=

&nb= sp;

(5)    Querying the table again

SELECT pgp_sym_decrypt(cc, 'motdepasse') FROM c= artedecredit WHERE pgp_sym_decrypt(cc, 'motdepasse')=3D'test value 32';
pgp_sym_decrypt

-----------------

test value 32

(1 row)

 

Time: 118558.485 ms (01:58.558) -> almost 2 minutes !!
postgres=3D# explain analyze SELECT pgp_sym_decrypt(cc, 'motdepasse') FROM = cartedecredit WHERE pgp_sym_decrypt(cc, 'motdepasse')=3D'test value 32';

        = ;            &n= bsp;            = ;            &n= bsp;        QUERY PLAN=

-----------------------------------------------= -----------------------------------------------------------------------

Seq Scan on cartedecredit  (cost=3D0.00..3647.25 rows=3D500 width=3D32) = (actual time=3D60711.787..102920.509 rows=3D1 loops=3D1)<= /span>

   Filter: (pgp_sym_decrypt(cc, 'motd= epasse'::text) =3D 'test value 32'::text)

   Rows Removed by Filter: 99999=

Planning time: 0.112 ms

Execution time: 102920.585 ms=

(5 rows)

 

è the index is not used in the execution plan. maybe because of the u= se of a function in the WHERE clause. I decide to modify the SQL query=

&nb= sp;

(6)    Querying the table
SELECT pgp_sym_decrypt(cc, 'motdepasse') FROM cartedecredit WHERE cc=3Dpgp_sym_encrypt('test value 32', 'motde= passe');
pgp_sym_decrypt

-----------------

(0 rows)<= /span>

 

Time: 52659.571 ms (00:52.660)

è The execution time is very long and I get no result (!?)=

        = ;            &n= bsp;            = ;            &n= bsp;      QUERY PLAN

-----------------------------------------------= --------------------------------------------------------------------

Seq Scan on cartedecredit&= nbsp; (cost=3D0.00..3646.00 rows=3D1 width=3D32) (actual time=3D61219.989..= 61219.989 rows=3D0 loops=3D1)

   Filter: (cc =3D pgp_sym_encrypt('t= est value 32'::text, 'motdepasse'::text))

   Rows Removed by Filter: 100000

Planning time: 0.157 ms

Execution time: 61220.035 ms<= /span>

(5 rows)

 

è My index is not used.


QUESTIONS :
-      why I get no result ?

-        why the index is not used?

Thanks in advance

 

Best Regards
Didier



 

3D"cid:image00==


Didier ROS

Expertise SGBD

DS IT/IT DMA/S= olutions Groupe EDF/Expertise Applicative - SGBD

 

 

--_000_dd1702f0a1b74ce79ca1e380ea4e63eePCYINTPEXMU001NEOPRODED_-- --_004_dd1702f0a1b74ce79ca1e380ea4e63eePCYINTPEXMU001NEOPRODED_ Content-Type: image/png; name="image001.png" Content-Description: image001.png Content-Disposition: inline; filename="image001.png"; size=3849; creation-date="Sat, 06 Oct 2018 09:57:24 GMT"; modification-date="Sat, 06 Oct 2018 09:57:24 GMT" Content-ID: Content-Transfer-Encoding: base64 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 --_004_dd1702f0a1b74ce79ca1e380ea4e63eePCYINTPEXMU001NEOPRODED_-- --===============0910952569249927945== Content-Type: multipart/alternative; boundary="===============0867873473985802296==" MIME-Version: 1.0 Content-Disposition: inline --===============0867873473985802296== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Ce message et toutes les pi=C3=A8ces jointes (ci-apr=C3=A8s le 'Message') s= ont =C3=A9tablis =C3=A0 l'intention exclusive des destinataires et les info= rmations qui y figurent sont strictement confidentielles. Toute utilisation= de ce Message non conforme =C3=A0 sa destination, toute diffusion ou toute= publication totale ou partielle, est interdite sauf autorisation expresse. Si vous n'=C3=AAtes pas le destinataire de ce Message, il vous est interdit= de le copier, de le faire suivre, de le divulguer ou d'en utiliser tout ou= partie. Si vous avez re=C3=A7u ce Message par erreur, merci de le supprime= r de votre syst=C3=A8me, ainsi que toutes ses copies, et de n'en garder auc= une trace sur quelque support que ce soit. Nous vous remercions =C3=A9galem= ent d'en avertir imm=C3=A9diatement l'exp=C3=A9diteur par retour du message. Il est impossible de garantir que les communications par messagerie =C3=A9l= ectronique arrivent en temps utile, sont s=C3=A9curis=C3=A9es ou d=C3=A9nu= =C3=A9es de toute erreur ou virus. ____________________________________________________ This message and any attachments (the 'Message') are intended solely for th= e addressees. The information contained in this Message is confidential. An= y use of information contained in this Message not in accord with its purpo= se, any dissemination or disclosure, either whole or partial, is prohibited= except formal approval. If you are not the addressee, you may not copy, forward, disclose or use an= y part of it. If you have received this message in error, please delete it = and all copies from your system and notify the sender immediately by return= message. E-mail communication cannot be guaranteed to be timely secure, error or vir= us-free. --===============0867873473985802296== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable


Ce message et toutes les pi=C3=A8ces jointes (ci-apr=C3=A8s le 'Message') s= ont =C3=A9tablis =C3=A0 l'intention exclusive des destinataires et les info= rmations qui y figurent sont strictement confidentielles. Toute utilisation= de ce Message non conforme =C3=A0 sa destination, toute diffusion ou toute= publication totale ou partielle, est interdite sauf autorisation expresse.=

Si vous n'=C3=AAtes pas le destinataire de ce Message, il vous est inter= dit de le copier, de le faire suivre, de le divulguer ou d'en utiliser tout= ou partie. Si vous avez re=C3=A7u ce Message par erreur, merci de le suppr= imer de votre syst=C3=A8me, ainsi que toutes ses copies, et de n'en garder = aucune trace sur quelque support que ce soit. Nous vous remercions =C3=A9ga= lement d'en avertir imm=C3=A9diatement l'exp=C3=A9diteur par retour du mess= age.

Il est impossible de garantir que les communications par messagerie =C3= =A9lectronique arrivent en temps utile, sont s=C3=A9curis=C3=A9es ou d=C3= =A9nu=C3=A9es de toute erreur ou virus.
____________________________________________________

This message and any attachments (the 'Message') are intended solely for= the addressees. The information contained in this Message is confidential.= Any use of information contained in this Message not in accord with its pu= rpose, any dissemination or disclosure, either whole or partial, is prohibi= ted except formal approval.

If you are not the addressee, you may not copy, forward, disclose or use= any part of it. If you have received this message in error, please delete = it and all copies from your system and notify the sender immediately by ret= urn message.

E-mail communication cannot be guaranteed to be timely secure, error or = virus-free.

--===============0867873473985802296==-- --===============0910952569249927945==--