On Mon, Dec 5, 2016 at 8:06 PM, Samuel Williams <
space.ship.travel...@gmail.com> wrote:

> Melvin, uh... I'm a software engineer... since when was it a problem to
> want to know how things work and why they are different? If you have
> nothing to contribute of a relevant technical nature, please don't reply,
> I'm really not interested.....
>

Samuel,

>since when was it a problem to want to know how things work and why they
are different?
I am a retired DBA/Software Engineer/Customer Engineer. I have worked all
aspects of IT.
Hardware, Software, Database, etc. I never said there was a problem wanting
to know
the difference between things. What I did say was that there IS a
difference. You are
concentrating your inquiry in the wrong area. If you want to know something
specific about
a PostgreSQL index, then ask that, but don't expect anyone to explain why
it's different
from a MySQL index, because there is no point in it.

> Could it be I should add WHERE the fields are not null?
That depends on the queries they will be used with.
If you have a WHERE clause in your query that requires a not null field,
then the index
will be useful, providing the table is large enough to make the index scan
faster than
a sequential scan.

So if you have a query like:
SELECT id, user_id, poi_id
  FROM user_event
 WHERE deal_id IS NULL;

 Then, yes, adding a WHERE clause to index_user_event_on_deal_id for NULL
deal_id's
 is fine.

 But if you want
SELECT id, user_id, poi_id
  FROM user_event
 WHERE deal_id = <some_value> ;
 Then you don't need the WHERE deal_id IS NULL in your index.

 BTW, most dba's prefer simpler, shorter, index names.
 EG: idx_user_event_deal_id


-- 
*Melvin Davidson*
I reserve the right to fantasize.  Whether or not you
wish to share my fantasy is entirely up to you.

Reply via email to