Subject | Re: [firebird-support] Back to firebird - 10 questions |
---|---|
Author | Helen Borrie |
Post date | 2007-10-26T09:02:41Z |
At 06:12 PM 26/10/2007, you wrote:
If that is not available, then the next most effective way is to define a special column associated with each character column you want searching performed on and use before triggers to populate it as UPPER(OriginalColumn) when OriginalColumn is written or updated. Define both columns with the desired charset and collation order. Index the CI column.
From Fb 2-on, you can create expression indexes and can thus avoid the above as your "next-best" approach. Create an index on (UPPER (OriginalColumn)) and then a search on UPPER(OriginalColumn)) will use that index if the searched set is appropriately positioned.
http://www.firebirdsql.org/index.php?op=ffoundation&id=contributions
All other usages of LIKE will use natural.
^^ heLen
>Used firebird a lot for a production systemYes
>around 2000-2001, thankful for advices regarding following:
>
>* Is cpuAffinity in firebird.conf a win32 feature only?
>(I want to force fb-ss to one cpu on a dual core, consideringYou could put in a feature request at Tracker
>linux taskset)
>* Need case-insensetive indexes, used iso-8859-2 and collate sv_sv,The "best way" to get a CI search is to choose a character set that has a CI collation order available for your language and to define your column with that collation order. Make sure you index the column.
>but what about UTF8. How to best get ci-searches.
If that is not available, then the next most effective way is to define a special column associated with each character column you want searching performed on and use before triggers to populate it as UPPER(OriginalColumn) when OriginalColumn is written or updated. Define both columns with the desired charset and collation order. Index the CI column.
From Fb 2-on, you can create expression indexes and can thus avoid the above as your "next-best" approach. Create an index on (UPPER (OriginalColumn)) and then a search on UPPER(OriginalColumn)) will use that index if the searched set is appropriately positioned.
>SpecifyingAim to have the server do as little extra work as possible. Performance depends on many things, not just collation order. Learn how the optimizer works and design your queries and indexes in ways that make the optimizer logic as efficient as possible.
>UTF8-subtype, or collate in every sql-query? (Second must mean
>worse performance??)
>* UTF8 production stable? Internal functions support...?Can't comment, really, without referring to the 2.0.3 and 2.1 beta release notes. But you don't need me to do your research for you.
>Good or bad experiences?
>* Many tools, (ibo-console) doesn't talk UTF8, recommended tools?It is common sense to upgrade your toolset when you move to (or choose) a new release. IBConsole is 8 years old, go figure. Again, research. There are plenty of tools. If you want to ask questions about any of them, ask on firebird-tools.
>* I need to convert a ms-sql database to firebird, but sql2gdbAsk on ib-conversions; also firebird-tools.
>doesn't talk utf8. Has anyone a suggestion for a quick fix?
>(Looking at the sounce is a bit overkill for me, but maby just
>to update the client-library??)
>* Need a quick overview of the triggers/sp-language, any good guideSame resources, plus release notes from v.1.0, 1.5 and 2. All are downloadable via the documentation index.
>around. (Used it alot back in 2001)
>* What's the status regarding vulcan (true SMP).Off-topic. But Firebird 3 is bringing fine-grained multi-threading, including transparent SMP support. Vulcan is not a stand-alone release yet and probably won't ever be, since its developer is no longer active in it. From Firebird's POV, Vulcan was an architectural refactoring, very much of which is included (or will be) in the Fb 3 development.
>Many wants it, right? Status? Schedule?
>Fund-raising?Your money would be most welcome. You can contribute here:
http://www.firebirdsql.org/index.php?op=ffoundation&id=contributions
>* Recommended filesystem for firebird? ext3 good enough?I think so. Some people think even ext2 is good enough. You have to work out what's good enough for you.
>* does LIKE always go natural?Your second example resolves to "where fld starting with 'a' " which should have the same plan as the first. Did you try it?
>:select * from tbl where fld>='a' and fld<'b' => plan: idx_fld
>:select * from tbl where fld like 'a%' => plan: natural
All other usages of LIKE will use natural.
>* Firebird deserves a nice homepage. (no offence...)Offence taken, since (a) I maintain the website (for free) and (b) it is right off-topic for the support list. I assume you are talking about http://www.firebirdsql.org and not http://sourceforge.net/projects/firebird (which is Sourceforge's idea of beauty, beyond our control). If your desire is to blag what the active workers in the Firebird project do for the inactive consumers , you can do that in firebird-general. It's not a support issue.
>Anyone working with this?
^^ heLen