Ejemplo n.º 1
0
        public static object GetValue(DbEngineType dbEngineType, string key)
        {
            var sql =
                "select test_value from test where test_key = @test_key";
            var parameters =
                new Dictionary <string, object>()
            {
                { "@test_key", key }
            };

            return(DbTools.Query <object>(dbEngineType, sql, parameters));
        }
Ejemplo n.º 2
0
        public static void SetValue(DbEngineType dbEngineType, string key, object value)
        {
            var sql =
                "insert into test (test_key, test_value) values (@test_key, @test_value)";
            var parameters =
                new Dictionary <string, object>
            {
                { "@test_key", key },
                { "@test_value", value }
            };

            try
            {
                DbTools.Execute(dbEngineType, sql, parameters);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            DbTools.InitFirebird(Config.DbConnectionString);
            var content = Encoding.UTF8.GetBytes(Utils.RandomString(1000));

            for (var it = 1; it < 100; it++)
            {
                var startTime = DateTime.UtcNow;
                var min       = (it - 1) * 100000 + 1;
                var max       = it * 100000;

                Console.WriteLine($"Iteration {it} range ({min}, {max})");
                for (var row = min; row < max; row++)
                {
                    Console.Write($"{row}\r");
                    var bytes = BitConverter.GetBytes(row);
                    var hash  = Crypto.Hash(bytes);
                    Db.SetValue(DbEngineType.Firebird, hash, content);
                }

                Console.WriteLine();
                var endTime = DateTime.UtcNow;
                var elapsed = (endTime - startTime).TotalSeconds;
                Console.WriteLine($"Elapsed Generation (Iteration {it}) = {elapsed} (s)");

                var randomRow  = new Random().Next(min, max);
                var randomHash = Crypto.Hash(BitConverter.GetBytes(randomRow));

                startTime = DateTime.UtcNow;
                var value = Db.GetValue(DbEngineType.Firebird, randomHash);
                endTime = DateTime.UtcNow;
                elapsed = (endTime - startTime).TotalMilliseconds;

                Console.WriteLine($"Elapsed GetRandomHash (Iteration {it}) = {elapsed} (ms)");
                Console.WriteLine("=========================================================");
            }

            Console.ReadLine();
        }