Обсуждение: Text/Varchar performance...
Hello, just a little question, It's preferable to use Text Fields or varchar(255) fields in a table? Are there any performance differences in the use of any of them? Thanks a lot for your answer!
On Wed, Oct 05, 2005 at 12:21:35PM -0600, Cristian Prieto wrote: > Hello, just a little question, It's preferable to use Text Fields or > varchar(255) fields in a table? Are there any performance differences in the > use of any of them? They are essentially the same. Note that you can have varchar without length (well, up to about a gigabyte or so after compression), and you can have varchar with a length well above 255 (say, 100000). /* Steinar */ -- Homepage: http://www.sesse.net/
Cristian, > Hello, just a little question, It's preferable to use Text Fields or > varchar(255) fields in a table? Are there any performance differences in > the use of any of them? TEXT, VARCHAR, and CHAR use the same underlying storage mechanism. This means that TEXT is actually the "fastest" since it doesn't check length or space-pad. However, that's unlikely to affect you unless you've millions of records; you should use the type which makes sense given your application. For "large text fields" I always use TEXT. BTW, in PostgreSQL VARCHAR is not limited to 255; I think we support up to 1GB of text or something preposterous. -- --Josh Josh Berkus Aglio Database Solutions San Francisco
Dear Cristian, If you need to index the field, you must know that it limit the length up to 1000 bytes. So if you need to index the field you must limit the field type, ex: varchar(250), than you can index the field and you can gain better perfomance in searching base on the fields, because the search uses the index you have been created. If you do not need to index the field, you can use the text field. Because text field can store data up to 4 Gbytes. Regards, ahmad fajar -----Original Message----- From: pgsql-performance-owner@postgresql.org [mailto:pgsql-performance-owner@postgresql.org] On Behalf Of Cristian Prieto Sent: Kamis, 06 Oktober 2005 1:22 To: pgsql-general@postgresql.org; pgsql-performance@postgresql.org Subject: [PERFORM] Text/Varchar performance... Hello, just a little question, It's preferable to use Text Fields or varchar(255) fields in a table? Are there any performance differences in the use of any of them? Thanks a lot for your answer! ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org
On Mon, Oct 10, 2005 at 06:28:23PM +0700, Ahmad Fajar wrote: > than you can index the field and you can gain better > perfomance in searching base on the fields, because the search uses the > index you have been created. That really depends on the queries. An index will help some queries (notably <, = or > comparisons, or LIKE 'foo%' with the C locale), but definitely not all (it will help you nothing for LIKE '%foo%'). > If you do not need to index the field, you can use the text field. Because > text field can store data up to 4 Gbytes. So can varchar. /* Steinar */ -- Homepage: http://www.sesse.net/