int i = 1;
i++;
Un tel incrément est appelé incrément post-placé </ b>. Lors de l'utilisation de l'instruction for
for(int i = 0;i < 10000;i++){
}
int i = 1;
++i
Un tel incrément est appelé un pré-incrément </ b>.
Lors de l'utilisation de l'instruction for
for(int i = 0;i < 10000;++i){
}
S'il s'agit de post-incrémentation </ b>, une instance sera créée en interne, il semble donc que le traitement prendra un certain temps. Cependant, en raison du développement du compilateur, la plupart d'entre eux ne sont pas disponibles pour le moment. </ Font>
int num = 100;
int twice = num * 2;
int num = 100;
int twice = num << 1;
"Arithmétique binaire On dit généralement que "c'est plus rapide", mais je pense qu'il y a de nombreux cas où il est difficile de savoir quand utiliser réellement l'arithmétique des bits. Le cas le plus simple à utiliser dans un tel cas n'est-il pas le double de celui ci-dessus? Cependant, à première vue, c'est souvent ??? (cela réduit la lisibilité), il peut donc être préférable de se demander où l'utiliser.
`num >> 1 '', moitié, 1/2) est un calcul signé (valeur négative),`
num / 2 '' et `` `num >> Le résultat de l'exécution peut changer avec 1 ''.List<int> numList = new List<int>();
for(int i = 0;i < 10000;++i){
numList.Add(i);
}
if(numList.Contain(9999)){
}
HashSet<int> numList = new HashSet<int>();
for(int i = 0;i < 10000;++i){
numList.Add(i);
}
if(numList.Contain(9999)){
}
Lorsque vous utilisez un tableau de longueur variable tel que C # ou Java qui correspond à List (Vector en C ++), si vous écrivez un processus pour déterminer si une valeur existe dans le tableau, le processus équivalent au processus suivant sera exécuté. Je vais.
public bool Contain(int value){
for(int i = 0;i < this.Count;i++){
if(this[i] == value){
return true;
}
}
return false;
}
Par exemple, s'il y a 10 000 données dans cette liste, elle sera vérifiée jusqu'à 10 000 fois. (Un tel traitement est appelé Recherche linéaire Masu) Si vous utilisez HashSet ou Dictionary (HashMap etc. en Java), vous pouvez obtenir la valeur correspondante en un seul processus. Par conséquent, la vitesse est plus rapide car le jugement n'est qu'une seule fois. (Ce type de traitement est appelé Hash Search. Pour plus de détails, voir les références.
last
SELECT id FROM nom de la table ORDER BY DESC LIMIT 1;
Lors de l'utilisation des rails couramment utilisés
ActiveRecord.last.id
SELECT (information_schema.tables.AUTO_INCREMENT - 1) FROM information_schema.tables WHERE information_schema.tables.TABLE_NAME = 'nom de la table';
L'émission d'une instruction ORDRE PAR '' en SQL ralentira le processus à mesure que le nombre de cas augmente, même s'il s'agit de
LIMIT 1 ''. (Fondamentalement, le processus de tri est lourd)
Par défaut, MySQL a une table qui enregistre des méta-informations telles que diverses valeurs de définition dans MySQL, telles que des informations de table appelées INFORMATION_SCHEMA. Il ne peut être lu qu'à partir de cette table INFORMATION_SCHEMA et la valeur peut être obtenue à l'aide de l'instruction SELECT. Les informations de la table de INFORMATION_SCHEMA enregistrent également les informations du nombre de cas (TABLE_ROWS) et les informations à la fin (AUTO_INCREMENT) de la table. Par conséquent, il peut être exécuté à grande vitesse en acquérant des informations à partir de cette table.
S'il y a d'autres cas où la vitesse peut être améliorée en changeant simplement le style d'écriture, je voudrais l'ajouter.