рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП SQL рд╕рд░реНрд╡рд░ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдЕрдиреБрдХреВрд▓рди

рдкрд░рд┐рдЪрдп


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЕрдиреБрдХреНрд░рдорд┐рдд рдПрдХ cngie рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рдпрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рдХреА рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рдорд╛рди рдЙрддреНрдкрд╛рджрдХрддрд╛ рдмрдврд╝рд╛рддреЗ рд╣реИрдВред рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХрдИ рд▓реЗрдЦреЛрдВ рдФрд░ рдкреБрд╕реНрддрдХреЛрдВ рдХреЗ рдХреБрдЫ рдЕрдзреНрдпрд╛рдпреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдпрд╣ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рд╕реВрдЪрдХрд╛рдВрдХ SQL рд╕рд░реНрд╡рд░ рд╕реЗ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреА рдЧрддрд┐ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдПрдХ рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рдЬреБрдбрд╝реА рджреЛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореБрдЦреНрдп рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ 10,000 рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣реЛрдВрдЧреА, рджреВрд╕рд░реЗ рдореЗрдВ 1,000,000 рд▓рд┐рдЦрд╛ рд╣реЛрдЧрд╛ред рдкрд╣рд▓реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдФрд░ рдкрд╛рда рдХреЗ рд╕рд╛рде 2 рдХреЙрд▓рдо рд╣реЛрдВрдЧреЗ, рджреВрд╕рд░реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА, 2 рдкрд╛рда рдлрд╝реАрд▓реНрдб, 2 рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдлрд╝реАрд▓реНрдб, рдПрдХ рджрд┐рдирд╛рдВрдХ, рдкрд░рд┐рдХрд▓рд┐рдд рд╕реНрддрдВрдн рдФрд░ рдПрдХ рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬреА рд╣реЛрдЧреАред

рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛

DB рд╕рдВрд░рдЪрдирд╛
CREATE TABLE "maintable"( "ID" INT NOT NULL IDENTITY (1, 1) PRIMARY KEY, "name" NVARCHAR (50) NULL, "description" NVARCHAR (100) NULL ) CREATE TABLE "secondtable" ( "ID" INT NOT NULL IDENTITY (1, 1) PRIMARY KEY, "sname" NVARCHAR (50) NULL, "sdescr" NVARCHAR (100) NULL, "somefirstnumber" INT DEFAULT 0, "somesecondnumber" INT DEFAULT 1, "somedatetime" DATETIME NOT NULL, "howmanyhours" INT NULL DEFAULT 0, "newdate" AS DATEADD(HOUR, "howmanyhours", "somedatetime"), "mainID" INT NOT NULL CONSTRAINT FK_SecondToMain FOREIGN KEY ("mainID") REFERENCES "maintable" ("ID") ); --  CREATE PROCEDURE "insertintomain" @Name NVARCHAR (50), @Descr NVARCHAR (100) AS INSERT INTO "SimpleIndex"."dbo"."maintable" ("name", "description") VALUES (@Name, @Descr); GO CREATE PROCEDURE "insertintosecond" @Sname NVARCHAR(50), @Sdescr NVARCHAR(100), @Firstnumber INT, @Secondnumber INT, @SomeDT DATETIME, @Hours INT, @MainID INT AS INSERT INTO "SimpleIndex"."dbo"."secondtable" ( "sname", "sdescr", "somefirstnumber", "somesecondnumber", "somedatetime", "howmanyhours", "mainID") VALUES ( @Sname, @Sdescr,@Firstnumber, @Secondnumber, @SomeDT, @Hours, @MainID) GO 



рдбреЗрдЯрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐

рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЖрдк рдХреЗрд╡рд▓ рдПрдХ рд▓рд╛рдЦ рд▓рд╛рдЗрдиреЗрдВ рдирд╣реАрдВ рдбрд╛рд▓реЗрдВрдЧреЗ, рд╣рдо C # рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдЪрд▓реЛ рдПрдХ рд╕рд░рд▓ рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВ
 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data; using System.Data.SqlClient; namespace SimpleAddingRandomRecordsToDatabase { class Program { static string alphabet() { //      string alphabet = "abcdefgh ijklmnopqrst uvwxyz    "; //    Encoding enc = Encoding.UTF8; var bytes = enc.GetBytes(alphabet); alphabet = enc.GetString(bytes); return alphabet; } static int alphlen = alphabet().Length; static string getRandomString(int lenth, int rndparam, bool allowspacebars) { string str = ""; Random rand = new Random(rndparam); for (int i = 0; i < lenth; i++) { int num = rand.Next(alphlen); str = str + alphabet()[num]; } if (!allowspacebars) { str = str.Replace(" ", ""); } return str; } static void Main(string[] args) { string result; Console.WriteLine(" 1   "); result = Console.ReadLine(); if (result.Equals("1")) { //   SqlConnection cn = new SqlConnection(); SqlConnectionStringBuilder cs = new SqlConnectionStringBuilder(); cs.IntegratedSecurity = true; cs.DataSource = @"KONSTANTIN\KONSTANTINSQL"; cs.InitialCatalog = "SimpleIndex"; cn.ConnectionString = cs.ToString(); cn.Open(); //  10 000     int i2 = 0; for (int i = 0; i < 10000; i++) { SqlCommand cm = cn.CreateCommand(); cm.CommandType = CommandType.StoredProcedure; cm.CommandText = "insertintomain"; i2++; cm.Parameters.Add(new SqlParameter("Name", getRandomString(50, i2, false))); i2++; cm.Parameters.Add(new SqlParameter("Descr", getRandomString(100, i2, true))); cm.ExecuteNonQuery(); } // 1 000 000 ,     i2 = 0; for (int i = 0; i < 1000000; i++) { Random rand = new Random(); DateTime dt = DateTime.Now; dt = dt.AddHours((-1) * rand.Next(2000)); SqlCommand cm = cn.CreateCommand(); cm.CommandType = CommandType.StoredProcedure; cm.CommandText = "insertintosecond"; i2++; cm.Parameters.Add(new SqlParameter("Sname", getRandomString(50, i2, false))); i2++; cm.Parameters.Add(new SqlParameter("Sdescr", getRandomString(100, i2, true))); i2++; Random rand2 = new Random(i2); cm.Parameters.Add(new SqlParameter("Firstnumber", rand2.Next(10000))); i2++; rand2 = new Random(i2); cm.Parameters.Add(new SqlParameter("Secondnumber", rand2.Next(100))); cm.Parameters.Add(new SqlParameter("SomeDT", dt)); i2++; rand = new Random(i2); cm.Parameters.Add(new SqlParameter("Hours", rand.Next(30))); i2++; rand = new Random(i2); cm.Parameters.Add(new SqlParameter("MainID", rand.Next(9999)+1)); cm.ExecuteNonQuery(); } cn.Close(); Console.WriteLine(" ."); } } } } 


рд╣рдо рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ, "1" рджрдмрд╛рдПрдВ рдФрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред рдореБрдЭреЗ рдбрд╛рд▓рдиреЗ рдореЗрдВ рд▓рдЧрднрдЧ 15-20 рдорд┐рдирдЯ рд▓рдЧреЗред

рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг


рдЗрд╕ рдЦрдВрдб рдореЗрдВ, рд╣рдо рдЕрдиреБрдХреНрд░рдорд┐рдд рдФрд░ рдЧреИрд░-рдЕрдиреБрдХреНрд░рдорд┐рдд рдХреЙрд▓рдо рдореЗрдВ рдХреНрд╡реЗрд░реА рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВрдЧреЗред
рдПрдХ рд╕рдВрдХреБрд▓ рд╕реВрдЪрдХрд╛рдВрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдпрд╣ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рд╣реИред

рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдЦреЛрдЬ

рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рдкрдВрдХреНрддрд┐ рдЦреЛрдЬ рдХрд░реЗрдВ, рджрд╕ рд╣рдЬрд╛рд░ рдХреА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрдВрдХреНрддрд┐ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рд╕рдВрдХреЗрдд:
 SELECT "name", "description" FROM "maintable" WHERE "ID" = 3823; 
рдЦреЛрдЬ рдХрд╛ рд╕рдордп: 1.523 рд╕реЗрдХрдВрдб ред
рджреВрд╕рд░реЗ рдЕрдиреБрд░реЛрдз рдореЗрдВ 0.9 рд╕реЗрдХрдВрдб рдФрд░ рддреАрд╕рд░реЗ рдореЗрдВ 0.1 рд╕реЗрдХрдВрдб рд▓рдЧреЗ ред

рд╣рдо рдПрдХ рд╣реА рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдорд╣рд╛рди рдЪрдпрдирд╛рддреНрдордХрддрд╛ рдХреЗ рд╕рд╛рде рджреВрд╕рд░реА рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
 SELECT "name", "description" FROM "maintable" WHERE "ID" BETWEEN 5000 AND 6000; 
рдкрд╣рд▓рд╛ рдЕрдиреБрд░реЛрдз 0.3 рд╕реЗрдХрдВрдб , рджреВрд╕рд░рд╛ 0.26 рд╕реЗрдХрдВрдб , рддреАрд╕рд░рд╛ 0.25 рд╕реЗрдХрдВрдб рд▓рд┐рдпрд╛ рдЧрдпрд╛ ред

рдЕрдм рд╣рдо рдПрдХ рд▓рд╛рдЦ рд░рд┐рдХреЙрд░реНрдб рд╡рд╛рд▓реЗ рдЯреЗрдмрд▓ рдХреЗ рд╕рдорд╛рди рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрдВрдХреНрддрд┐ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП:
 SELECT * FROM "secondtable" WHERE "ID" = 728472; 
рдЦреЛрдЬ рд╕рдордп: 1.4 рд╕реЗрдХрдВрдб , рджреВрд╕рд░реА рдХреНрд╡реЗрд░реА 1.36 рд╕реЗрдХрдВрдб рджрд┐рдЦрд╛рдИ рдЧрдИ ред ред рдЕрдЧрд▓рд╛, рдФрд╕рдд рдХреНрд╡реЗрд░реА рд╕рдордп рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдХреЙрд▓рдо рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЕрд╕рдВрднрд╡ рд╣реИред рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдпрд╣ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╛рди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рджреЛрд╣рд░рд╛рдпрд╛ рдЧрдпрд╛ рдкреНрд░рд╢реНрди рдЦреЛрдЬ рдХреА рдЧрддрд┐ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред

рдкреИрдЯрд░реНрди рдЦреЛрдЬ

рдЕрдиреБрдХреНрд░рдорд┐рдд рдФрд░ рдЧреИрд░-рдЕрдиреБрдХреНрд░рдорд┐рдд рдХреЙрд▓рдо рдХреЗ рд╕рд╛рде рдЯреЗрдореНрдкрд▓реЗрдЯ рджреНрд╡рд╛рд░рд╛ рдкрд╛рда рдЦреЛрдЬ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
 SELECT * FROM "maintable" WHERE "name" LIKE '%'; 
рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рдмрд┐рдирд╛, рдЗрд╕ рддрд░рд╣ рдХреА рдХреНрд╡реЗрд░реА рдХреЛ 10,000 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ 0.172 рд╕реЗрдХрдВрдб рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд╕рд╛рде
 CREATE NONCLUSTERED INDEX iName ON "maintable" ("name") 
рдпрд╣ 0.112 рд╕реЗрдХрдВрдб рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ "рдирд╛рдо" рдФрд░ "рд╡рд┐рд╡рд░рдг" рдлрд╝реАрд▓реНрдб рд╡рд╛рд▓реЗ рдПрдХ рд╕рдордЧреНрд░ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд╕рд╛рде, рдЕрдиреБрд░реЛрдз рдиреЗ 0.09 рд╕реЗрдХрдВрдб рд▓рд┐рдпрд╛ред

рдЬрд╛рдВрдЪ
 SELECT * FROM "maintable" WHERE "name" LIKE '%dc%'; 
рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рдмрд┐рдирд╛ 0.172 рд╕реЗрдХрдВрдб рдФрд░ рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рд╕рд╛рде 0.112 рд╕реЗрдХрдВрдб рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ред

рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд╛рдХрд╛ рдЦреЛрдЬ рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд▓рд╛рдЦ рд░рд┐рдХреЙрд░реНрдб рд╣реЛред
 SELECT * FROM "secondtable" WHERE "sname" LIKE '%'; 
рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛ рдпрд╣ рдХреНрд╡реЗрд░реА рдФрд╕рддрди 1.7 рд╕реЗрдХрдВрдб рд▓реЗрдЧреА, рдЬрдмрдХрд┐ 0.15 рд╕реЗрдХрдВрдб рдХреЙрд▓рдо рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рд╕рд╛рде рдЦрд░реНрдЪ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред

рджрд┐рдирд╛рдВрдХ рдЦреЛрдЬ

рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдХрдо рдЪрдпрдирд╛рддреНрдордХрддрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВрдЧреЗ
 SELECT * FROM "secondtable" WHERE "somedatetime" BETWEEN '2012-26-11 11:30:00' AND '2012-26-11 11:32:00' 
рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рдмрд┐рдирд╛, рдФрд╕рддрди 0.7 рд╕реЗрдХрдВрдб , рдЗрдВрдбреЗрдХреНрд╕реЗрдб - 0.22 рд╕реЗрдХрдВрдб рд▓рдЧреЗрдЧрд╛ред

рдЙрдЪреНрдЪ рдЪрдпрдирд╛рддреНрдордХрддрд╛ рдХреНрд╡реЗрд░реА (420,600 рдкрдВрдХреНрддрд┐рдпрд╛рдБ)
 SELECT * FROM "secondtable" WHERE "somedatetime" BETWEEN '2012-26-11 11:30:00' AND '2012-31-12 11:32:00' 
рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рдмрд┐рдирд╛ - 19.219 рд╕реЗрдХрдВрдб , рдЗрдВрдбреЗрдХреНрд╕ рдХреЗрд╡рд▓ рджрд┐рдирд╛рдВрдХ рдлрд╝реАрд▓реНрдб - 9.9 рд╕реЗрдХрдВрдб ред

рдЧрдгрдирд╛ рдХрд┐рдП рдЧрдП рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП рддрд┐рдерд┐ рджреНрд╡рд╛рд░рд╛ рдХреНрд╡реЗрд░реА

 SELECT * FROM "secondtable" WHERE "newdate" BETWEEN '2012-26-11 11:30:00' AND '2012-31-12 11:32:00' 
рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рдмрд┐рдирд╛ рдпрд╣ рдХреНрд╡реЗрд░реА 12.2 рд╕реЗрдХрдВрдб рд▓реЗрдЧреА, рдЬрдмрдХрд┐ рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ - 9.75 рдХреЗ рд╕рд╛рде ред рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рджрд┐рдирд╛рдВрдХ рд╡рд╛рд▓реЗ рдореВрд▓ рд╕реНрддрдВрдн рдХреЛ рдкрд╣рд▓реЗ рд╣реА рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИред

рдЯреЗрдмрд▓ рдЬреНрд╡рд╛рдЗрди рдХреА

рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдкрд░, рдПрдХ рдХреЙрд▓рдо рдХреЛ рдЗрдВрдбреЗрдХреНрд╕ рдХрд░рдирд╛ рд╣рдореЗрд╢рд╛ рдЙрдЪрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬреА рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╛рдорд▓рд╛ рд╣реИред
 CREATE NONCLUSTERED INDEX iFK ON "secondtable" ("mainID"); SELECT "name", "sname", "somefirstnumber" FROM "maintable" M INNER JOIN "secondtable" S ON M."ID" = S."mainID" WHERE M."ID" = 8271 
рдРрд╕реА рдХреНрд╡реЗрд░реА 101 рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдЧреАред рдПрдХ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рдмрд┐рдирд╛ - 0.422 рд╕реЗрдХрдВрдб , рдФрд░ рдПрдХ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд╕рд╛рде - 0.122 рд╕реЗрдХрдВрдб ред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрд╡реЗрд░реА рдХреА рдЧрддрд┐ рддреАрди рдЧреБрдирд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рд╕рдВрдШ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╢реЗрд╖ рдкреНрд░рд╢реНрдиреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

рд▓реЗрдХрд┐рди рд╕реВрдЪрдХрд╛рдВрдХ рд╣рдореЗрд╢рд╛ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╡реГрджреНрдзрд┐ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдХреНрд╡реЗрд░реА (420,000 рдкрдВрдХреНрддрд┐рдпрд╛рдБ)
 SELECT "name", "sname", "somefirstnumber" FROM "maintable" M INNER JOIN "secondtable" S ON M."ID" = S."mainID" WHERE S."somedatetime" BETWEEN '2012-26-11 11:30:00' AND '2012-31-12 11:32:00'; 
рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдпрд╛, рдХреЗрд╡рд▓ рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬреА, рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬреА рдФрд░ рджрд┐рдирд╛рдВрдХ рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд╕рд╛рде, рдПрдХ рд╕рдордЧреНрд░ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд╕рд╛рде рдЬрд┐рд╕рдореЗрдВ рдпреЗ рджреЛрдиреЛрдВ рдХреЙрд▓рдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВ - рд▓рдЧрднрдЧ 6.8 рд╕реЗрдХрдВрдб ред

рдкреИрдЯрд░реНрди рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реБрдП рдорд┐рд▓рд╛рдПрдВ

рдЪрд▓реЛ рдПрдХ рд▓рд╛рдЦ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рдмреАрдЪ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЦреЛрдЬ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдпреЛрдЬрди рдХрд░рддреЗ рд╣реИрдВ:
 SELECT "name", "sname", "somefirstnumber" FROM "maintable" M INNER JOIN "secondtable" S ON M."ID" = S."mainID" WHERE "sname" LIKE '%'; 
рдЕрдиреБрдХреНрд░рдорд┐рдд рдХреЗ рдмрд┐рдирд╛, рдХреНрд╡реЗрд░реА 0.766 рд╕реЗрдХрдВрдб рд▓реЗрддреА рд╣реИ рдФрд░ 5 рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд▓реМрдЯрд╛рддреА рд╣реИред
рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬреА рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд╕рд╛рде - 0,4 рд╕реЗрдХрдВрдбред ;
рдХреЗрд╡рд▓ рдПрдХ рдкрд╛рда рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд╕рд╛рде - 0.125 рд╕реЗрдХрдВрдбред ;
рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬреА рд╕реВрдЪрдХрд╛рдВрдХ рдФрд░ рдкрд╛рда рдХреНрд╖реЗрддреНрд░ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд╕рд╛рде - 0.109 рд╕реЗрдХрдВрдбред ;
рдПрдХ рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬреА рдФрд░ рдПрдХ рдкрд╛рда рдХреНрд╖реЗрддреНрд░ рдпреБрдХреНрдд рдПрдХ рд╕рдордЧреНрд░ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд╕рд╛рде - 0.35 рд╕реЗрдХрдВрдбред ред

рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рддреБрд▓рдирд╛


рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рдгрд╛рдореЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдЕрдХреНрд╖ рдмреАрддрд╛ рд╣реБрдЖ рд╕рдордп ( рдЧрддрд┐ рдирд╣реАрдВ! ) рджрд┐рдЦрд╛рддрд╛ рд╣реИред
1. рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рдирдореВрдирд╛рдХрд░рдгред рдЪреВрдВрдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕рдВрдХреБрд▓ рд╕реВрдЪрдХрд╛рдВрдХ рд╣реИ, рдПрдХ рдореЗрдЬ рд╕реЗ рдПрдХ рдмрдбрд╝реЗ рдФрд░ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдЪрдпрдирд╛рддреНрдордХ рдирдореВрдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

рдЗрд╕ рдЧреНрд░рд╛рдл рд╕реЗ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХрд╛ рдирдореВрдирд╛рдХрд░рдг рддреЗрдЬреА рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддрд╛ рд╣реИред

2. рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬреЗрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧреНрд░рд╛рдл рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬреА рдХреЛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╕реЗ рддреАрди рдмрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рд╕рд░реНрдЪ рдСрдкрд░реЗрд╢рди рдореЗрдВ рддреЗрдЬреА рдЖрддреА рд╣реИ:


3. рдЯреЗрдХреНрд╕реНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬреЗрдВред рдЧреНрд░рд╛рдлрд╝ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдХрдИ рдмрд╛рд░ рдмрдврд╝рддреА рд╣реИ:


4. рджрд┐рдирд╛рдВрдХ рддрдХ рдЦреЛрдЬреЗрдВред рд╕реВрдЪрдХрд╛рдВрдХ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдирдореВрдиреЗ рдФрд░ рдПрдХ рд╣реА рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рднреАрддрд░ рдПрдХ рдмрдбрд╝реЗ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдХрд╛рдлреА рд╡реГрджреНрдзрд┐ рдХрд░рддреЗ рд╣реИрдВ:

рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдФрд░ рддрд┐рдерд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЦреЛрдЬ рдХреЗ рд╕рд╛рде рдФрд░ рдмрд┐рдирд╛ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХреЗ рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдИ рджрд┐рдПред

5. рдЧрдгрдирд╛ рдХрд┐рдП рдЧрдП рдХреЙрд▓рдо рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬреЗрдВред рд╕реВрдЪрдХрд╛рдВрдХ рдЦреЛрдЬ рд╕рдордп рдХреЛ рднреА рдХрдо рдХрд░рддрд╛ рд╣реИред


6. рд╕рдВрдШ рдХреЗ рд╕рд╛рде рдЯреЗрдореНрдкрд▓реЗрдЯ рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬреЗрдВред рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдЗрдВрдбреЗрдХреНрд╕ рдФрд░ рджреЛрдиреЛрдВ рдЗрдВрдбреЗрдХреНрд╕ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдХрд╛рдлреА рдмрдврд╝рд╛рддреЗ рд╣реИрдВ:


рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рджреЗрдирд╛


рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐:


рдЗрд╕рд▓рд┐рдП, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рд╕реЗрд▓реЗрдХреНрдЯ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЗрдореЛрд░реА рд▓реЗрддреА рд╣реИ рдФрд░ рд╕рдордп-рд╕рдордп рдкрд░ рдЗрд╕рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╖реНрдЯрддрдо рд╕рдорд╛рдзрд╛рди рдвреВрдВрдврдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рд╢рд╛рд╕рдХ рдПрдХ рдордзреНрдп рдореИрджрд╛рди рдХреА рдЦреЛрдЬ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рдмрд┐рддрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдиреБрдХреНрд░рдорд┐рдд рдХреЛ рдкреБрдирд░реНрдЧрдард┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░, рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИред

Source: https://habr.com/ru/post/In164717/


All Articles