Create partition on MySQL based on a date column:
MySQL subdivide table into smaller tables based on date in low level. It improves performance in case you want to query based on date
field and another column. There is also other partitioning types like LIST, HASH, KEY.
Delete a specific partition in MySQL:
The above command is much more efficient than command below:
If your field is of type timestamp you can do something like below:
#mysql #partition #range_partition #database
CREATE TABLE members (
firstname VARCHAR(25) NOT NULL,
lastname VARCHAR(25) NOT NULL,
username VARCHAR(16) NOT NULL,
email VARCHAR(35),
joined DATE NOT NULL
)
PARTITION BY RANGE COLUMNS(joined) (
PARTITION p0 VALUES LESS THAN ('1960-01-01'),
PARTITION p1 VALUES LESS THAN ('1970-01-01'),
PARTITION p2 VALUES LESS THAN ('1980-01-01'),
PARTITION p3 VALUES LESS THAN ('1990-01-01'),
PARTITION p4 VALUES LESS THAN MAXVALUE
);
MySQL subdivide table into smaller tables based on date in low level. It improves performance in case you want to query based on date
field and another column. There is also other partitioning types like LIST, HASH, KEY.
Delete a specific partition in MySQL:
ALTER TABLE members DROP PARTITION p0;
The above command is much more efficient than command below:
DELETE FROM members WHERE joined <= '1990-01-01';
If your field is of type timestamp you can do something like below:
CREATE TABLE quarterly_report_status (
report_id INT NOT NULL,
report_status VARCHAR(20) NOT NULL,
report_updated TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
PARTITION BY RANGE ( UNIX_TIMESTAMP(report_updated) ) (
PARTITION p0 VALUES LESS THAN ( UNIX_TIMESTAMP('2008-01-01 00:00:00') ),
PARTITION p1 VALUES LESS THAN ( UNIX_TIMESTAMP('2008-04-01 00:00:00') ),
PARTITION p2 VALUES LESS THAN ( UNIX_TIMESTAMP('2008-07-01 00:00:00') ),
PARTITION p3 VALUES LESS THAN ( UNIX_TIMESTAMP('2008-10-01 00:00:00') ),
PARTITION p4 VALUES LESS THAN ( UNIX_TIMESTAMP('2009-01-01 00:00:00') ),
PARTITION p5 VALUES LESS THAN ( UNIX_TIMESTAMP('2009-04-01 00:00:00') ),
PARTITION p6 VALUES LESS THAN ( UNIX_TIMESTAMP('2009-07-01 00:00:00') ),
PARTITION p7 VALUES LESS THAN ( UNIX_TIMESTAMP('2009-10-01 00:00:00') ),
PARTITION p8 VALUES LESS THAN ( UNIX_TIMESTAMP('2010-01-01 00:00:00') ),
PARTITION p9 VALUES LESS THAN (MAXVALUE)
);
#mysql #partition #range_partition #database
Tech C**P
Some useful string methods, variables: string.ascii_letters: in case you want to use alpha characters a-zA-Z. The output is: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ string.ascii_lowercase: abcdefghijklmnopqrstuvwxyz string.ascii_uppercase:…
Generate a sample string (bonus coupon) from
This function returns a random string from
GET THE IDEA!
#python #string #ascii_uppercase #digits #random #random_choice #range
string functions
and removing misguiding characters from the final list:def generate_coupon(coupon_code_length=10):
alphanum = list(string.ascii_uppercase + string.digits)
alphanum.remove('L')
alphanum.remove('I')
alphanum.remove('1')
alphanum.remove('0')
alphanum.remove('O')
return ''.join(random.choice(alphanum) for i in range(coupon_code_length))
This function returns a random string from
ascii_uppercase
and string.digits
. This is one usages out of very many usages of string module public variables. :)GET THE IDEA!
#python #string #ascii_uppercase #digits #random #random_choice #range
environments in
To set a key/value pair, use
Use
#golang #go #env #environment #environment_variables #range #setenv #getenv #environ
Golang
:To set a key/value pair, use
os.Setenv
. To get a value for a key, use os.Getenv
. This will return an empty string if the key isn’t present in the environment.Use
os.Environ
to list all key/value pairs in the environment. This returns a slice of strings in the form KEY=value
. You can strings.Split
them to get the key and value. Here we print all the keys:package main
import (
"os"
"strings"
"fmt"
)
func main() {
os.Setenv("FOO", "1")
fmt.Println("FOO:", os.Getenv("FOO"))
fmt.Println("BAR:", os.Getenv("BAR"))
fmt.Println()
for _, e := range os.Environ() {
pair := strings.Split(e, "=")
fmt.Println(pair[0])
}
}
#golang #go #env #environment #environment_variables #range #setenv #getenv #environ