I discovered that, without installing anything other than DBD::SQLite (version 1.76), I was able to run a SELECT using a REGEXP in the WHERE clause. All of the searching I'd turned up had suggested that built-in REGEXP support in SQLite was either non-existent or limited to the CLI, and that I'd have to install one of several available regex libraries.
I tested against a table of 11M movie titles, in which the title column was indexed. While REGEXP worked, it was considerably slower than LIKE in the following queries:
I can't find any documentation for this! Could anyone provide some links? And, why is REGEXP so much slower?SELECT * FROM Titles WHERE title LIKE '%batman%'; -- 1.3 sec SELECT * FROM Titles WHERE title REGEXP '(?i)\bbatman\b'; -- 5.9 sec SELECT * FROM Titles WHERE title REGEXP '(?i)\b{wb}batman\b{wb}'; -- 1 +1.0 sec !!
In reply to Documentation of REGEXP support in DBD::SQLite? by ibm1620
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |