On 30 Sep 2014, at 12:07pm, dd <[email protected]> wrote:

> Hi Simon,
> 
>>> However, frequent use of COLLATE often suggests that the original schema
> was badly chosen.
>      Any performance degradation?

Having SQLite analyse the command, work out what 'COLLATE BINARY' means, and 
making the change means that it will take a little longer to execute the 
command.  But that should just be a few milliseconds, not a long time.

> Is it possible to change "collate nocase" to "collate binary" in schema for
> already existing db? Any alternative solution for this?

If you need to change your TABLE definitions a little but keep your data, a 
good way to do it is to use the SQLite shell tool:

<https://sqlite.org/cli.html>

You can load up your database, then use the '.dump' command to dump it as a 
series of SQL commands to a text file.  Then you can use a text processor to go 
into the text file and edit any of the commands.  Then you can use the shell 
tool to create a new database file and '.read' the new SQL commands into it.

Don't forget to take a backup before you start, just in case you mess up and 
type the wrong filename.  Like I've done once or twice.

Simon.
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to