﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SQL Server’da Varchar ve Varchar(MAX) Veri Tipleri Arasındaki Farklar &#8211; SQL Server Eğitimleri</title>
	<atom:link href="https://sqlserveregitimleri.com/etiket/sql-serverda-varchar-ve-varcharmax-veri-tipleri-arasindaki-farklar/feed" rel="self" type="application/rss+xml" />
	<link>https://sqlserveregitimleri.com</link>
	<description>SQL Server ile ilgili her şey</description>
	<lastBuildDate>Sun, 19 Mar 2023 19:15:08 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>
	<item>
		<title>SQL Server’da Varchar ve Varchar(MAX) Veri Tipleri Arasındaki Farklar</title>
		<link>https://sqlserveregitimleri.com/sql-serverda-varchar-ve-varcharmax-veri-tipleri-arasindaki-farklar</link>
		
		<dc:creator><![CDATA[Yavuz Selim Kart]]></dc:creator>
		<pubDate>Fri, 17 Nov 2017 07:45:03 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server’da Varchar ve Varchar(MAX) Veri Tipleri Arasındaki Farklar]]></category>
		<category><![CDATA[SQL Server’da Varchar ve Varchar(MAX) Veri Tipleri Arasındaki Farklar Nedir]]></category>
		<category><![CDATA[Varchar ve Varchar(MAX) Veri Tipleri Arasındaki Farklar]]></category>
		<guid isPermaLink="false">http://sqlserveregitimleri.com/?p=2709</guid>

					<description><![CDATA[Herkese merhaba, Bu yazıda SQL Server’da Varchar ve Varchar (MAX) veri tipleri arasındaki farkları inceleyeceğiz. SQL Server&#8217;da bazı durumlarda Varchar ve Varchar (MAX) veri tipleri...]]></description>
										<content:encoded><![CDATA[<p>Herkese merhaba,</p>
<p>Bu yazıda SQL Server’da Varchar ve Varchar (MAX) veri tipleri arasındaki farkları inceleyeceğiz.</p>
<p>SQL Server&#8217;da bazı durumlarda Varchar ve Varchar (MAX) veri tipleri arasındaki farkları bilmek gerekebilir.</p>
<p>Varchar(MAX), Sql Server 2005 ile gelmiştir. Varchar(MAX) veri tipi, Text veri tipine göre birçok avantajı vardır.</p>
<h1 style="text-align: left;"><span style="font-size: 36pt; color: #ff0000;"><strong>Varchar[(n)]</strong></span></h1>
<p><strong>Temel Tanım</strong></p>
<p>Unicode olmayan değişken uzunluk karakter veri tipi.<br />
<strong>Örnek:</strong></p>
<pre class="line-numbers"><code class="language-sql">DECLARE @Ad VARCHAR(50)
= 'yavuzselim'
SELECT
	@Ad</code></pre>
<div>
<div id="highlighter_823187" class="syntaxhighlighter nogutter notranslate sql">
<p><strong>Depolama Kapasitesi</strong></p>
<p>Maksimum 8000 Unicode olmayan karakteri depolayabilir (Diğer bir deyişle, maksimum depolama kapasitesi 8000 byte depolama alanıdır). İsteğe bağlı parametre 1 ile 8000 arasındadır.</p>
<p><strong>Index?</strong></p>
<p>Varchar veri tipi ile sütun üzerinde index oluşturabilirsiniz.<br />
<strong>Örnek:</strong></p>
<div>
<div id="highlighter_672859" class="syntaxhighlighter nogutter notranslate sql">
<pre class="line-numbers"><code class="language-sql">CREATE TABLE dbo.Calisanlar (
	id INT IDENTITY (1, 1)
	PRIMARY KEY
   ,CalisanAd VARCHAR(50)
)
GO
CREATE INDEX IX_CalisanAdi
ON dbo.Calisanlar
(CalisanAd)
GO</code></pre>
<p>Veriler Fiziksel Olarak Nasıl Saklanır?</p>
<p>Verileri depolamak için normal veri sayfalarını kullanır. Satırlarda değer saklar.</p>
<p><strong>Her Karakter için Gerekli Byte Sayısı</strong></p>
<p>Her karakter için 1 bayt kaplar.<br />
<strong>Örnek:</strong></p>
<div>
<div id="highlighter_29100" class="syntaxhighlighter nogutter notranslate sql">
<pre class="line-numbers"><code class="language-sql">DECLARE @Ad VARCHAR(50)
= 'Yavuz Selim'
SELECT
	@Ad Ad
   ,DATALENGTH(@Ad) UzunlukLength</code></pre>
</div>
</div>
<p><strong>Sonuç:</strong><br />
Ad Uzunluk<br />
Yavuz Selim 11</p>
<p><strong>Hangisini Kullanmalıyım?</strong></p>
<p>Sütun veya değişkende depolanacak verilerin 8000 karakterden düşük olacağını biliyorsak, bu veri tipini kullanabiliriz. Örneğin Adı, Soyadı vb. için sütun değerleri maksimum 8000 karakter sınırını geçemeyen bu alanlar için bu veri tipini kullanmak daha iyidir.</p>
<p><strong>Performans</strong></p>
<p>Varchar [(n)] ve Varchar (Max) arasında pek fazla performans farkı yoktur. Varchar [(n)], Varchar (Max) ile karşılaştırıldığında daha iyi performans sonuçları sağlar.<br />
Sütun veya değişkende depolanacak verilerin 8000 karakterden daha az olacağını biliyorsak, bu Varchar [(n)] veri türünü kullanmak Varchar (Max) ile karşılaştırıldığında daha iyi performans sağlayacaktır.</p>
<p><strong>Örnek:</strong> Aşağıdaki @Ad değişkeni Varchar (Max) olarak değiştirildiğinde 1 milyon dönüş için Varchar (50) olarak veri türünü kullandığımız veri tipine göre iki kat daha fazla zaman harcıyor.</p>
<div>
<div id="highlighter_910603" class="syntaxhighlighter nogutter notranslate sql">
<pre class="line-numbers"><code class="language-sql">DECLARE @Ad VARCHAR(50)
	   ,@Sayac INT = 0
	   ,@Baslama DATETIME = GETDATE()
WHILE (@Sayac &lt; 1000000)
BEGIN
SELECT
	@Ad = 'Yavuz Selim'
   ,@Sayac = @Sayac + 1
END
SELECT
	DATEDIFF(ms, @Baslama, GETDATE()) 'Bu kadar zaman aldı'
GO 6</code></pre>
</div>
</div>
<p><strong>Not : </strong>Burada GO 6 deyimi, yukarıdaki ifadeleri 6 kez yürütür.</p>
<h1 style="text-align: left;"><span style="font-size: 36pt; color: #ff0000;"><strong>Varchar(Max)</strong></span></h1>
<p><strong>Temel Tanım</strong></p>
<p>Unicode olmayan büyük değişken uzunluk karakter veri tipi.</p>
<p><strong>Örnek:</strong></p>
<div>
<div id="highlighter_10470" class="syntaxhighlighter nogutter notranslate sql">
<pre class="line-numbers"><code class="language-sql">DECLARE @Ad VARCHAR(MAX)
= 'Yavuz Selim Kart'
SELECT
	@Ad</code></pre>
<p><strong>Depolama Kapasitesi</strong></p>
<p>En fazla 2 147 483 647 Unicode olmayan karakterleri saklayabilir (Maksimum depolama kapasitesi: 2GB).</p>
<p><strong>Index?</strong></p>
<p>Varchar(MAX) veri tipi sütun üzerinde index oluşturamazsınız.<br />
<strong>Örnek:</strong></p>
<pre class="line-numbers"><code class="language-sql">CREATE TABLE dbo.Calisanlar (
	id INT
	IDENTITY (1, 1)
	PRIMARY KEY
   ,CalisanAdi VARCHAR(MAX)
)
GO
CREATE INDEX IX_CalisanAdlari
ON dbo.Calisanlar
(CalisanAdi)
GO</code></pre>
<p><strong>Hata Mesajı:</strong><br />
Msg 1919, Level 16, State 1, Line 1 Column ‘Name’ in table ‘dbo.Employee’ is of a type that is invalid for use as a key column in an index.</p>
<p><strong>Veriler Fiziksel Olarak Nasıl Saklanır?</strong></p>
<p>Değerleri satırlarda saklar ve veri sayfalarını kullanır eğer bir taşma var ise Text veri tipinde saklanır ve bir pointer içeriğin yerini alır.</p>
<p><strong>Her Karakter için Gerekli Byte Sayısı</strong></p>
<p>Her karakter için 1 bayt kaplar.<br />
<strong>Örnek:</strong></p>
<div>
<div id="highlighter_927791" class="syntaxhighlighter nogutter notranslate sql">
<pre class="line-numbers"><code class="language-sql">DECLARE @Ad VARCHAR(MAX)
= 'Yavuz Selim Kart'
SELECT
	@Ad Ad
   ,DATALENGTH(@Ad) UzunlukLength</code></pre>
</div>
</div>
<p><strong>Sonuç:</strong><br />
Ad Uzunluk<br />
Yavuz Selim Kart 16</p>
<p><strong>Hangisini Kullanmalıyım?</strong></p>
<p>Sütun veya değişkende saklanacak verilerin 8KB veri sayfasını geçebileceğini biliyorsak, bu veri tipini kullanabiliriz.</p>
<p><strong>Performans</strong></p>
<p>Varchar [(n)] ve Varchar (Max) arasında pek fazla performans farkı yoktur. Varchar [(n)], Varchar (Max) ile karşılaştırıldığında daha iyi performans sonuçları sağlar. Sütun veya değişkende depolanacak verilerin 8000 karakterden daha az olacağını biliyorsak, bu Varchar [(n)] veri türünü kullanmak Varchar (Max) ile karşılaştırıldığında daha iyi performans sağlayacaktır.</p>
<p><strong>Örnek:</strong> Aşağıdaki @Ad değişkeni Varchar (Max) olarak değiştirildiğinde 1 milyon dönüş için Varchar (50) olarak veri türünü kullandığımız veri tipine göre iki kat daha fazla zaman harcıyor.</p>
<div>
<div id="highlighter_910603" class="syntaxhighlighter nogutter notranslate sql">
<pre class="line-numbers"><code class="language-sql">DECLARE @Ad VARCHAR(50)
	   ,@Sayac INT = 0
	   ,@Baslama DATETIME = GETDATE()
WHILE (@Sayac &lt; 1000000)
BEGIN
SELECT
	@Ad = 'Yavuz Selim'
   ,@Sayac = @Sayac + 1
END
SELECT
	DATEDIFF(ms, @Baslama, GETDATE()) 'Bu kadar zaman aldı'
GO 6</code></pre>
</div>
</div>
<p><strong>Not : </strong>Burada GO 6 deyimi, yukarıdaki ifadeleri 6 kez yürütür.</p>
<p>Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class='epvc-post-count'><span class='epvc-eye'></span>  <span class="epvc-count"> 2.506</span><span class='epvc-label'> Kez Okundu</span></div>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
