Re: extracting the domain from an email address
От | Achilleas Mantzios |
---|---|
Тема | Re: extracting the domain from an email address |
Дата | |
Msg-id | 0729dd40-9448-7529-155e-458676681b5e@matrix.gatewaynet.com обсуждение исходный текст |
Ответ на | extracting the domain from an email address (Mark Steben <mark.steben@drivedominion.com>) |
Список | pgsql-admin |
On 16/1/19 3:20 μ.μ., Mark Steben wrote:
Why don't you create an index on the extracted part including the where clause?Good morning,I am searching for a better more efficient way to extract the domain portion of an email address. The two I have been using are very expensive.The one extract I mostly use: substring(email from '@(.*)$')also has an index on the email column which is the full email address:btree (email DESC) WHERE email::text = "substring"(email::text, '@(.*)$'::text) AND length(email::text) > 0,The other extract:substr(e.email,(strpos(e.email, '@') + 1))Currently has no index.
create index your_table_email_domain ON your_table(substring(email from '@(.*)$')) WHERE length(email::text) > 0 ;
The referenced table has 72 million rows. The email column can be empty (ergo the length = 0 check. I am running postgresql 9.4.Any insights/observations welcome.--Mark Steben
Database Administrator
@utoRevenue | Autobase
CRM division of Dominion Dealer Solutions
95D Ashley Ave.
West Springfield, MA 01089
t: 413.327-3045
f: 413.383-9567www.fb.com/DominionDealerSolutions
www.twitter.com/DominionDealer
www.drivedominion.com
-- Achilleas Mantzios IT DEV Lead IT DEPT Dynacom Tankers Mgmt
В списке pgsql-admin по дате отправления: